|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
关于文本输入函数
1. scanf
//scanf函数所有标量前面必须加取址符,但数组和指针不需要
//若数组出现下表引用则它变为一个数组的特定元素,也需要加&
//除了%c和%s外,其他的格式码,输入之前的空白(空格、制表符、换行符)都会被跳过,值后面的空白表示该值结束,用%s输入字符串时,中间不能包括空白,scanf函数在成功读取一个整数后会返回一个1的值,如果读取失败,不管是因为文件已经读完还是因为下一次输入字符无法转换为整数,函数都会返回0
//当scanf函数对输入值进行转换时,它只读取需要读取的字符,这样,该输入行包含了最后一个值的剩余部分仍会留在那里等待被读取,它可能只是个换行符,或者其他的字符。
//小技巧:因为C不会检查数组越界,所以你可以在输入函数的同时&&一个数组元素有效性的检查
//用法
char input[100];
scanf("%s",input);
2. gets
//从标准输入读取一行文本并把他存储于作为参数传递给它的数组。一行输入由一串字符串组成并以一个换行符结尾。gets函数丢弃换行符,并在该行末尾存储一个NUL字符,然后返回一个非null值,如果不存在输入行,他就会返回NULL值
//用法
char input[100];
gets(input);
3. getchar
//getchar 函数从标准输入读取一个字符并返回它的值,如果输入中不存在任何字符,函数就会返回常量EOF,用于表示文件结尾
//用法
char ch;
ch = getchar();
//小技巧,可以在循环里面进行赋值语句,消除冗余语句,可以把ch定义为int 类型,以防止输入读取的字符被意外解释为EOF。例:
int ch;
while(ch=getcha()!=EOF && ch != '\n');//这里是一个空循环体,一般用于舍弃输入的空白行
字符串操作函数
1. strcpy 第二个字符串将被复制到第一个字符串参数,第一个原有字符将被覆盖
2. strcat 把第二个字符串参数添加到第一个字符串末尾。第一个字符串参数不能是字符串常量。并且确保目标字符串是否有足够空间是程序员的责任,函数不做检查。
3. strncpy 与strcpy 类似,但需要指定需要复制的字符数
4. strchr
//用法:
include<stdio.h>
include<string.h>
int main()
{
char a[]="asdfdsfdgfhgfxZx";
char b[]="fdg";
printf("%p",strchr(a,'h')); //第一个参数是个字符串,第二个参数是个字符,返回值是个指针(字符第一次出现的位置)
}
1. strstr
//用法:
include<stdio.h>
include<string.h>
int main()
{
char a[]="asdfdsfdgfhgfxZx";
char b[]="fdg";
printf("%p",strstr(a,b)); //第一个参数是个字符串,第二个参数是个字符串,返回值是个指针(字符串第一次出现的位置)
}
|
|