当前位置:首页 » 编程语言 » c语言读取字符串时怎么停止
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言读取字符串时怎么停止

发布时间: 2022-06-18 01:38:28

‘壹’ c语言 当字符串在读到$$$$时,停止读取操作

gets从标准输入设备读字符串函数。可以无限读取,不会判断上限,以回车结束读取,所以程序员应该确保buffer的空间足够大,以便在执行读操作时不发生溢出。

从stdin流中读取字符串,直至接受到换行符或EOF时停止,并将读取的结果存放在buffer指针所指向的字符数组中。换行符不作为读取串的内容,读取的换行符被转换为‘\0’空字符,并由此来结束字符串。

读入成功,返回与参数buffer相同的指针;读入过程中遇到EOF(End-of-File)或发生错误,返回NULL指针。所以在遇到返回值为NULL的情况,要用ferror或feof函数检查是发生错误还是遇到EOF。

‘贰’ C语言 字符串停止工作

password没配内存 声明改char password[漆];或者 char *password=(char *)malloc(漆*sizeof(char))

‘叁’ C语言问题,输入一串字符时,scanf和getchar是分别读到什么结束

  1. getchar 一次只读取一个字符,不能是读取字符串

    直接从键盘读取,输入一个,它就接收一个。

    不管是回车,还是空格,它统统读取。

  2. scanf 可以一次读取一个字符串或多个字符串

    它是读取输入缓冲区,当输入回车后 才开始执行读取

    如果是一次读入多个字符串,读取字符串的结束 和读入格式有关系

    例如:scanf("%s %s",s1,s2) 执行时 遇到空格符后S1结束,剩余的字符串就给S2了

    scanf("%s,%s",s1,s2) 这个输入字符串时,需要用逗号将两个字符串隔开。

    ------------

    我解释的也不是很全面,希望对你有所帮助,很高兴和你一起讨论和学习C/C++

‘肆’ 读取字符串如何借助EOF结束输入(C语言问题)

可以通过scanf读取字符串,然后根据scanf的返回值确认是否读到EOF。
当输入正确是,scanf会返回输入的变量个数,当遇到EOF时,会返回EOF。
于是代码可以写作
while(scanf("%s",str) != EOF)//输入,直到遇到EOF结束。
{
//使用输入的数据str。

}

‘伍’ c语言如何从文件中读入任意长度飞字符串,遇到tab就自动停止读入

你说的意思是说遇到换行符停止,或者读下一行?
那就这样读

FILE *fin;
char *one_line;
one_line = (char*)malloc( MAX_LINE_SIZE * sizeof(char) );
if((fin = fopen(argv[1], "r"))==NULL)
{
printf("can not open file %s !\n", argv[1]);
exit(-1);
}

while( fgets(one_line, MAX_LINE_SIZE, fin) != NULL )
{
printf("读一行打印一行%s",one_line);

}

fclose(fin);

‘陆’ c语言中如何在读入字符串时如何遇到指定字符结束

标准C中没有提供这样的函数,可以自定义一个这样的函数,以实现getline()函数的功能。参考代码如下:
int get_str( char *s, int size, const char ch='\n' ) //如果不输入第三个参数,默认为回车符
{
int i;
for( i=0;i<size-1;i++ )
{
s[i]=getchar(); //读入一个字符
if ( s[i] == ch ) //遇到指定字符,结束输入
break;
}
s[i]='\0'; //字符串结束符
return i; //返回读入字符串数据的长度
}
void main()
{
char str[10];
get_str( str, sizeof(str), '#' ); //以#结束
printf("input is :%s\n", str );
fflush(stdin); //清除缓存中的残余数据

get_str( str, sizeof(str) ); //以回车结束
printf("input is :%s\n", str );
}

‘柒’ C语言如何从文件读入一个带空格的字符串不知道具体长度,以回车终止

用fgets就可以了
原型是char
*fgets(char
*s,
int
n,
FILE
*stream);
从流中读取n-1个字符,除非读完一行,参数s是来接收字符串,如果成功则返回s的指针,否则返回NULL
char
t[100];
fp=fopen("file","r");
fgets(t,81,fp);
//从fp文件中读入80个字符,如果遇到回车或不足80个,就结束读取.

‘捌’ C语言怎么用循环输入一个字符串,遇到特定字符停止(‘@’) 123abc@

charch;
while((ch=getchar())!='@')
...

‘玖’ C语言 读取字符串问题

char *a[1000]={NULL}, 这里a是个指针数组

for (i = 0; hold[0] != 10; i++) //hold中不可能有'\n'!!!!
{
a[i] = hold; //这里将每个a[i]都指向了hold,想要做什么? 你看到的当然全是hold啊
scanf("%s", hold);
}
看完整个程序也没有看明白你想干什么

‘拾’ c语言怎样输入一串字符让程序停止

你好
很高兴为你解答

答案是:将读入的字符串与你预设的字符串(比如exit)作比较,如果相同就break退出循环,程序就退出了。

满意请采纳,谢谢