printf(“请输入带空格的字符串:”); scanf(“%[^\n]”, str); printf(“你输入的字符串是:%s\n”, str); return 0; } 在上面的代码中,首先定义了一个字符数组str来存储输入的字符串,长度为100。然后使用scanf函数来读取输入的字符串,其中格式控制字符串"%[^\n]"表示读取一行,直到遇到换行符为止。最...
1.char[]型 char buf[1000005]; cin.getline(buf,sizeof(buf)); 多行文件输入的情况: while(cin.getline(buf,sizeof(buf)))... 2.string 型 string buf; getline(cin,buf) 3.用fgets函数 char buf[1000005]; fgets(buf,1000005,stdin); 多行文件输入的情况: while(fgets(buf,1000005,stdin)!=NULL)...
1.char[]型 char buf[1000005]; cin.getline(buf,sizeof(buf)); 多行文件输入的情况: while(cin.getline(buf,sizeof(buf)))... 2.string 型 string buf; getline(cin,buf) 3.用fgets函数 char buf[1000005]; fgets(buf,1000005,stdin); 多行文件输入的情况: while(fgets(buf,1000005,stdin)!=NULL)...
用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个,就结束读取.02分享举报您可...
用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个,就结束读取...
上面介绍了三种读入字符串的函数,scanf不能读入带空格的字符串,gets和fgets可以读入带空格的字符串,所以ges和fets能完成按行读入字符串。但是scanf和gets读入字符串都存在覆盖原有内存内容的安全问题,非常危险,所以非常不推荐使用,最推荐的用法是用fgets读入字符串,不过要注意读入的字符串需要剔除末尾的换行字符。
fscanf就行了,可以自己指定什么作为字符串的结束标志
第二个 scanf() 的格式控制字符串为"%d %d",中间有多个空格,而我们却输入了100 200,中间只有一个空格。这说明 scanf() 对输入数据之间的空格的处理比较宽松,并不要求空格数严格对应,多几个少几个无所谓,只要有空格就行。 第三个 scanf() 的控制字符串为"%d, %d, %d",中间以逗号分隔,所以输入的整数也...
scanf函数:scanf函数是C语言中用于从标准输入(键盘)读取数据的函数。它可以根据指定的格式字符串将输入的数据存储到相应的变量中。 scanf()==1:这里的scanf()==1表示当成功读取一个输入时,返回值为1,即scanf函数成功读取了一个输入值。因此,while循环会一直执行,直到输入结束或者遇到错误。 需要注意的是...
C/C++读入含有空格的字符串 好久之前遇到 gets()不准用的情况,所以稍稍参考了一下网上的方法,整理一下。 代码语言:javascript 复制 char st[maxn];string s;1、gets(st);2、scanf("%[^\n]",st3、getlinecins// 这里s是 string4、cingetstmaxn5、cin.getline(stmaxn...