atoi, atol, atof. - sprintf.
atoi(s) , . , . , 0.
atol(s) , .
atof(s) , .
atoi(s)atol(s) atof(s) < stdlib.h > #include < stdlib.h >
. ( , ) . , .
/* */
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<conio.h>
void main()
{
char s[]="10) 162 ., 63.4"; //
int n; //
long h; //
double w; //
n=atoi(s); //
h=atol(&s[11]); //
w=atof(&s[26]); //
printf(" # %d %ld %lf\n",n,h,w);
puts(" ");
puts(s);
puts(" ");
puts(&s[11]);
puts(" ");
puts(&s[26]);
getch();
}
:
# 10 162 63.400000
10) 162 ., 63.4
162 ., 63.4
, . s s. 10 s . atoi s. 162 s, 11. atol s, &s[11]. 63.4 s, 26. atof s, &s[26].
strstr(s1,s2) s2 s1 ( s2 s1). -. . NULL.
. , s2 s1 .
|
|
#include <stdio.h>
#include <string.h>
#include <conio.h>
void main()
{
const int n=81;
char s1[n],s2[n];
char *p;
clrscr();
puts("s1?"); gets(s1);
puts("s2?"); gets(s2);
p=strstr(s1,s2);
if(p)
{
printf(" '%s'\n : %s\n",s2,s1);
printf(" '%c'\n : %s\n",*p,p);
}
else puts("NO");
getch();
}
, *p s1, s2;
p , *p s1.
s1?
? !
s2?
''
: ? !
''
: !
ASCII ,
Borland C++ 3.1 for DOS
()
strcat(s1,s2) s2 s1 , . s1 -. S1 '\0'.
s1.
.
1) char s1[40]=" !";
char s2[]=" !";
printf(" %s\n",strcat(s1,s2));
:
! !
2) :
char s3[50]=" ";
printf("%s\n\t%s\n",strcat (s3," 1- !!!"), s3);
:
1- !!!
1- !!!
3) char s4[35]=" ";
char s5[]=" !";
char *p;
p=strcat(s4, s5);
printf("%s\n%s\n",s4,p);
:
!
!
strncat(s1,s2,n) n , s2, , s1 , . s1 '\0'.
n s2, .
strcspn(s1,s2) s1 , s2, s2 s1. '\0' .
s1 , s2, . s1 s2, s1.
.
printf("%d %d %d\n",
strcspn("asdf", "hjyars"), // s1 'a'
strcspn("asdf", "ghtdu"), // s1 'd' 2
strcspn("asrt", "hj")); // s1 s2
:
0 2 4
|
|
0 2 s1, 4 s1.
C
. , .
strcmp(s1,s2) s1 s2. , s1<s2, , s1=s2 , s1>s2.
strncmp(s1,s2, n) s1 n s2. , s1<s2, , s1=s2 , s1>s2.
. . .
#include<stdio.h>
#include<string.h>
#include<conio.h>
Void main()
{
char s1[20];
char s2[20];
puts(" 1- ");
Gets(s1);
puts(" 2- ");
Gets(s2);
if(strcmp(s1,s2)<0)
{puts(s1); puts(s2);}
else if(strcmp(s1,s2)>0)
{puts(s2); puts(s1);}
else puts(" ");
Getch();
}
:
1-
abcdefg
2-
abcdefg
1-
bcdert
2-
bccertyu
bc c ertyu
bc d ert
1-
rtyu
2-
rtdh
rt d h
rt y u
. s1 s?
#include<stdio.h>
#include<string.h>
#include<conio.h>
Void main()
{
char s[20];
char s1[20];
puts(" "); gets(s);
puts(" "); gets(s1);
int k=0,i=0;
char *p=s;
int n=strlen(s1);
printf("n=%d %c\n",n,*p);
while(strstr(p,s1) && i<n)
{
k=k+1;
p=p+n+1; printf("%c\n",*p);
}
puts(" :");
Puts(s);
printf("%d %s\n",k,s1);
Getch();
}
strncmp
/* s1 s? */
#include<stdio.h>
#include<string.h>
#include<conio.h>
Void main()
{
char s[20]; //
char s1[20]; //
puts(" ");
Gets(s);
puts(" ");
Gets(s1);
int k=0, //-
i=0;
int m=strlen(s);// s
int n=strlen(s1);// s1
printf("m=%d n=%d\n",m,n);
while(i<m)
{
if(strncmp(s1,&s[i],n)==0)
{
k=k+1; i=i+n;
}
else i=i+1;
}
puts(" :");
Puts(s);
printf("%d () %s\n",k,s1);
Getch();
}
, abcdefgcdmnklcdf
cd 3