在C语言中,获取字符串主要有三种方法
1 scanf("%s",src);
这个方法很常见,遇到空格和回车结束。
例:
#include <stdio.h>
int main()
{
char src[100];
scanf("%s",src);
printf("%s",src);
return 0;
}
scanf也可以遇到空格不结束。
%[]可以用来进行多个字符的输入,并对结束符进行自定义。
对于%[]还可以用^+任意字符(包括 eof)来结束字符串的输入。
比如%[^EOF]就是直到有EOF 输入,字符串才中止。
#include <stdio.h>
int main()
{
char src[100];
scanf("%[^\n]",src);//直到输入回车键,读取才结束,当然不能超过a定义的大小,否则会出错。
printf("%s",src);
return 0;
}
2 gets(src);
gets()遇到空格不停止,遇到回车停止。
例:
#include <stdio.h>
int main()
{
char src[100];
gets(src);
printf("%s",src);
return 0;
}
3
while((ch = getchar()) != ‘\n’)
{
src[i] = ch;
i++;
if( i == 9)
{
printf("error!\n");
exit(1);
}
}
src[i] = '\0';
虽然效率低,但可以控制长度。
一个在努力中的未来程序员,如果有更好的想法,欢迎评论。