ѳ ++ . < string.h > .
, : char str [25];. , - , . , , , :
"
"
" ".
, , '. -:
¾ char, . , :
char st [] = "";
char st [6] = "";
char st [6] = {'' '' '' '' '' '\0'};
¾ char*, , :
char *pst = "";,
- pst, , ( );
¾ (, ), , :
char *pst;
pst = " ";,
pst ¾ " ", ', pst, , , .
, ' ¾ , - . ', , , :
char st [20];
st = " "; // , st
. - char, , char str[3], , : str[3] *(str+3).
, , , , ,
char spis [5] [15];,
:
spis [i] [j] *(spis [i] + j).
char *str [5] ( 5 , ), , *(str [i]+j).
3.2.3 -
|
|
, :
¾ :
char st [5] = " ";
char st [] = " ";
char *pst = " ";
:
char str [5] [20] = {" .. ", " .. ",...,};
char str [ ] [20] = {" .. ", " .. ",...,};
char *pst [5] = {" .. ", " .. ",...,};
char *pst [ ] = {" .. ", " .. ",...,};
¾ cin >>, , , :
char st [5]; cin >> st;
char *pst; cin >> *pst
char str [5] [20]; cin >> str [i];
char *pst [5]; cin >> (pst [i]);
¾ get(), get(st[i]);
¾ cin.get (str [i], size, endl);,
size - , ;
¾ cin.getline (str [i], sizeof (str [i]));,
sizeof() - .
:
cout << st;
printf (% s,st); // (sprintf)
puts (st); cout. write (st, size); .
3.3 ( ¾ ...) . , .
// P3_3.
#include <stdio.h>
Void main (void)
{
char *psp[ ] = { "人 ..'',
" ..",
" .. ",
NULL };
char **ptr =psp;
//
while (*ptr)
puts (*ptr++);
ptr=psp;
//
while (*ptr)
{
while (**ptr)
{ putchar(**ptr); (*ptr)++; }
ptr++
}
}
ϳ stdio.h , , :
puts(st); printf(%s, st);
Gets(st); cout.width(w);
scanf (% s,st); cout.precision (d);
Setw(w);
Setprecision(d);
3.2.4
++ . <string.h> . Standard Template Library (STL), , ' string. , :
#include <string> // h
<string.h> , . , :
;
;
;
.
, . , , .
|
|
, , :
¾
char strcpy (s, *st); ¾ s t s, ( "\0"; s), :
char str [50];
strcpy (str, " ");
char *strdup (const char *str); ¾ str
, :
char *st1 = " ";
char *st2;
st2= strdup (st1); // st1 st2
char * strnpy (char *st1,const char *st2, int n); ¾ n st2 st1, st1 st2, , :
char st1[]= " ";
char st2[] = " ";
strnpy (st1,st2,3); // st1 ¾ ""
¾
char *strcat (char *st1, const char *st2); ¾ st1 st2 st1, :
char string [100];
strcpy (string, "Borland ");
strcat (string, " C++5");,
string = "Borland C++ 5";
char *strncat (char *st1, const char * st2, int n); ¾ st1 n st2 st1, :
hr st1 [90] = " ";
char st2 [50] = " ";
Strncat (st1, st2, 5);
st1 =" ".
¾
int strcmp (char *st1, char *st2); - st1 st2 , :
< 0 ¾ st1 < st2;
= 0 ¾ st1 = st2;
> 0 ¾ st1 > st2;,
:
char st1[] = " ";
char st2 [] = "";
Int k;
k = strcmp (st1, st2); // k < 0;
int stricmp (const char *st1, const char *st2); ¾ ; (. strcmp()), :
char st1[] = " ";
char st2 [] = "";
Int k;
k = stricmp (st1, st2); k=0;
int strncmp (char *st1, char *st2, int n); ¾ c n st1 st2 :
< 0 ¾ st1 < st2;
= 0 ¾ st1 = st2;
> 0 ¾ st1 > st2;
char *strnicmp (char *st1, char *st2, int n); ¾ c n st1 st2, .
¾
char *strlwr (char *st); ¾ st
, ,
:
char st [i] =" ';
strlwr (st); // st = " ".
char *strupr (char *st); ¾ st , ;
char *strrev (char *st); ¾ st ( ), :
char st [] =" Hello";
strrev (st); // st = "olle ".
char *strchr (char *st, int c); ¾ c st; st, , :
hr st [90] = " Borland C++ 5 "
char *spt;
spt = strchr (st, '+');
// spt "++5" st.
char *strrchr (char *st, int c); ¾ c st; c ¾ 0, st, , :
char st [80] = "Borland C++5";
|
|
char *spt;
spt = strrchr (st, '+');
// spt "+5" st.
¾
strspn (const char *st1, const char *st2); ¾ st1, st2, st2, :
char st1 [] = "Borland C++5";
char st2 [] = " narlBod ";
Int k;
k = strspn (st1, st2); // k=8
k 8, 8 st1 ( ).
char *strstr (const char *st1,const char *st2); ¾ st1 st2 , st1 st2; st2 st1 - 0, :
char st1 [] = " , ";
char st2 [] = " ';
char*spt;
spt = strstr (st1, st2);
:
spt = " , ".
, strrev.
char *strtok (char *st, const char *dlm); - (), dlm. - ¾ ; st '\0'.
strtok () . NULL. , st . ' \0'. ϳ , , NULL. . - . strtok():
3.4 , :
//P3_4.CPP ¾ strtok().
//
//
#include <string.h>
#include < iostream>
Using namespace std;
Void main (void)
{
char *tk, *spt =",.!";
char st[] = ", !";
cout << st << endl;
int i = 1;
tk = strtok (st, spt);
while (tk!= NULL)
{
cout << i << " -" << tk << " " <<
strlen(tk) << "" << endl;
tk = strtok (NULL,spt);
i++;
}
}
++ , , :
void del (char *st, int k, int n);
{ int i;
for (i = k; i < strlen(st)-n; i++)
st[i] = st [i +n ];
st [i] ='\0'; // '\0'
}
st ¾ ( );
n ¾ ;
k ¾ , .
,
3.5 n k - .
//P3_5.CPP
#include < iostream>
Using namespace std;
#include <string.h>
const int n = 50;
const int m = 5;
void del(char *st, int, int);
Void main()
{
char st [n], st1 [m];
cout << " "<< endl;
Cin. getline(st,n);
cout << " "<< endl;
|
|
cin >> st1;
if(strstr (st,st1)!=NULL)
{