, string.h. .
1.strlen(s) - .
k =strlen(s)
2. strcat(s1,s2) - s1 s2, s2 s1.
char str1 [10 ]= adcdef;
*str2 = nijk;
strcat(str1,str2); str1 =abcdefnijk
3.strncat (s1,s2, n) n s2 s1.
4. strcmp (s1,s2)- s1 s2. . .
strcmp(AAA,AAA) 0
strcmp(AAB,AAA) 1
strcmp(AAA,AAB) -1
5. strncmp(s1,s2,n)- n s1 s2.
6.strcpy(s1,s2) - s2 s1 s1.
7.strncpy(s1,s2,n) - n s2 s1 s1.
8.strchr (s,) - s . , NULL.
9.strrchr (s,c) - s .
10.strstr(s1,s2) s2 s1.
11.strtok(s1, z)- , z.
7.1 . (char t[160]), (char *tt). .
void main()
{int i,j,l,n=0;
char t[160]=" '";
char *tt=" ";
/* 1 */
l=strlen(t);
for(i=0;i<l;i++)
if(t[i]=='') n++;
printf("%d\n",n);
/*2 */ +
for(i=0;i<l;i++)
if(t[i]=='') t[i]='+';
printf("%s\n",t);
/*3*/ +
for(i=0;i<=l;i++)
if(t[i]=='')
{for(j=l;j>i;j--)
t[j]=t[j-1];
t[i]='+';i=i+1;}
puts(t);
/*4*/
n=0; for(i=0;i<l;i++)
if(*(tt+i)=='') n++;
printf("%d\n",n);
/*5*/
l=strlen(tt);
for(i=l-1;i>=0;i--)
{if(*(tt+i)=='')
{for(j=i;j<l-1;j++)
*(tt+j)=*(tt+j+1);}};
puts(tt);
7.2 . , . , .
void main()
{
int i,n=0,j,k,l;
char f[30];
printf(" ");
gets(f); \\
printf("%s",f); \\
l=strlen(f);\\
for(j=l-1;j>=0;j--)
if(f[j]==f[j+1])\\
|
|
{
n++;\\
for(k=j; k<l-1;k++) f[k]=f[k+1];\\
}
i=l-n;
f[i]='\0';\\
printf("\nn=%d \nstr=%s",n,f);
}
7.3 . *.
void main()
{
int i,l,ksl,nsl,max=0,dlsl, nmax,kmax;
char *a=" ";
printf(" = %s\n",a);
nsl=0;
l=strlen(a);
for(i=0; i<l; i++)
if (a[i]==' ')
{
ksl=i-1; dlsl=ksl-nsl+1;
if (dlsl>max) {max=dlsl;nmax=nsl; kmax=ksl;}
nsl=i+1;
}
printf("_= %d _=%d =%d\n",
nmax, kmax,max);
printf("\= ");
for(i=nmax; i<=kmax; i++) printf("%c",a[i]);
for(i=nmax; i<=kmax; i++) a[i]='*';
printf("\n = %s\n",a);
getch();
}
7.3 . .
void main()
{
int n=0;
char *b=" ";
char *p;\\
p=b; \\p , b
p=strchr(p,' ');\\
while(p)\\
{
p++;\\
n++;\\
p=strchr(p,' ');
}
printf(" \n\nn= %d \n",n);
}
7.4 . , , . .
int main(void)
{
char *input=". , .";
char *p;//
char *z=",.";//
int k=1;
p = strtok(input, z);//
if (p) printf("%d %s\n",k, p);
do//
{
p = strtok(NULL, z);//
if (p)
{ k++; printf("%d %s\n",k, p);}
}
while(p);
getch();
}