FSF GCC merge 02/23/03
[official-gcc.git] / libstdc++-v3 / testsuite / 21_strings / c_strings.cc
blob63041779a83422c11a5dddfa7dc237b5c004cb41
1 // 2001-04-02 Benjamin Kosnik <bkoz@redhat.com>
3 // Copyright (C) 2001 Free Software Foundation, Inc.
4 //
5 // This file is part of the GNU ISO C++ Library. This library is free
6 // software; you can redistribute it and/or modify it under the
7 // terms of the GNU General Public License as published by the
8 // Free Software Foundation; either version 2, or (at your option)
9 // any later version.
11 // This library is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 // GNU General Public License for more details.
16 // You should have received a copy of the GNU General Public License along
17 // with this library; see the file COPYING. If not, write to the Free
18 // Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
19 // USA.
21 // 21.4: null-terminiated sequence utilities
23 #include <string>
24 #include <cstring>
25 #include <cwchar>
27 void test01()
29 bool test = true;
30 char c = 'a';
31 const char cc = 'b';
32 char* c1 = &c;
33 const char* cc1 = &cc;
34 const char* ccarray1 = "san francisco roof garden inspectors";
35 const char* ccarray2 = "san francisco sunny-day park inspectors";
36 char carray[50];
37 std::strcpy(carray, ccarray1);
38 void* v = carray;
39 const void* cv = ccarray1;
41 // const char* strchr(const char* s, int c);
42 // char* strchr(char* s, int c);
43 cc1 = std::strchr(ccarray1, 'c');
44 c1 = std::strchr(carray, 'c');
46 // const char* strpbrk(const char* s1, const char* s2);
47 // char* strpbrk(char* s1, const char* s2);
48 cc1 = std::strpbrk(ccarray1, ccarray2);
49 c1 = std::strpbrk(carray, ccarray2);
51 // const char* strrchr(const char* s, int c);
52 // char* strrchr(char* s, int c);
53 cc1 = std::strrchr(ccarray1, 'c');
54 c1 = std::strrchr(carray, 'c');
56 // const char* strstr(const char* s1, const char* s2);
57 // char* strstr(char* s1, const char* s2);
58 cc1 = std::strstr(ccarray1, ccarray2);
59 c1 = std::strstr(carray, carray);
61 // const void* memchr(const void* s, int c, size_t n);
62 // void* memchr( void* s, int c, size_t n);
63 cv = std::memchr(cv, 'a', 3);
64 v = std::memchr(v, 'a', 3);
67 void test02()
69 using namespace std;
71 const char* ccarray1 = "san francisco roof garden inspectors";
72 const char* ccarray2 = "san francisco sunny-day park inspectors";
73 char carray[50];
74 strcpy(carray, ccarray1);
75 void* v = carray;
76 const void* cv = ccarray1;
78 memchr(cv, '/', 3);
79 strchr(ccarray1, '/');
80 strpbrk(ccarray1, ccarray2);
81 strrchr(ccarray1, 'c');
82 strstr(carray, carray);
85 int main()
87 test01();
88 test02();
90 return 0;