]> git.ipfire.org Git - thirdparty/gcc.git/blob - libstdc++-v3/testsuite/21_strings/c_strings/char/1.cc
Update copyright years.
[thirdparty/gcc.git] / libstdc++-v3 / testsuite / 21_strings / c_strings / char / 1.cc
1 // 2001-04-02 Benjamin Kosnik <bkoz@redhat.com>
2
3 // Copyright (C) 2001-2024 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 3, or (at your option)
9 // any later version.
10
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.
15
16 // You should have received a copy of the GNU General Public License along
17 // with this library; see the file COPYING3. If not see
18 // <http://www.gnu.org/licenses/>.
19
20 // 21.4: null-terminiated sequence utilities
21
22 #include <string>
23 #include <cstring>
24
25 void test01()
26 {
27 char c = 'a';
28 const char cc = 'b';
29 char* c1 = &c;
30 const char* cc1 = &cc;
31 const char* ccarray1 = "san francisco roof garden inspectors";
32 const char* ccarray2 = "san francisco sunny-day park inspectors";
33 char carray[50];
34 std::strcpy(carray, ccarray1);
35 void* v = carray;
36 const void* cv = ccarray1;
37
38 // const char* strchr(const char* s, int c);
39 // char* strchr(char* s, int c);
40 cc1 = std::strchr(ccarray1, 'c');
41 c1 = std::strchr(carray, 'c');
42
43 // const char* strpbrk(const char* s1, const char* s2);
44 // char* strpbrk(char* s1, const char* s2);
45 cc1 = std::strpbrk(ccarray1, ccarray2);
46 c1 = std::strpbrk(carray, ccarray2);
47
48 // const char* strrchr(const char* s, int c);
49 // char* strrchr(char* s, int c);
50 cc1 = std::strrchr(ccarray1, 'c');
51 c1 = std::strrchr(carray, 'c');
52
53 // const char* strstr(const char* s1, const char* s2);
54 // char* strstr(char* s1, const char* s2);
55 cc1 = std::strstr(ccarray1, ccarray2);
56 c1 = std::strstr(carray, carray);
57
58 // const void* memchr(const void* s, int c, size_t n);
59 // void* memchr( void* s, int c, size_t n);
60 cv = std::memchr(cv, 'a', 3);
61 v = std::memchr(v, 'a', 3);
62
63 cc1 = cc1; // Suppress unused warnings.
64 c1 = c1;
65 }
66
67 int main()
68 {
69 test01();
70 return 0;
71 }