相关疑难解决方法(0)

如何使用scanf读取空格分隔的数字

我想读取使用scanf()函数用空格分隔的数字(整数类型).
我已阅读以下内容

C,从单个输入行读取多个数字(scanf?)
如何用空格读取scanf
这对我没有多大帮助.如何读取带空格的数字作为分隔符.例如,我现在有以下数字作为输入,2 5 7 4 3 8 18我想将它们存储在不同的变量中.
请帮忙.

c scanf

27
推荐指数
2
解决办法
11万
查看次数

如何在c中使用scanf读取空白?

问题:我需要能够识别连续出现两个空格的时间.

我读过以下问题:

如何从\n分隔文件中读取字符串

如何用空格读取scanf

我知道scanf问题:http://c-faq.com/stdio/scanfprobs.html

输入将采用以下格式:

1 5 3 2  4 6 2  1 9  0
Run Code Online (Sandbox Code Playgroud)

两个空格表示需要处理下一组数据并与其自身进行比较.线的长度未知,每组中的数字或整数是未知的.两个空格是分隔下一个数据集的最多空格.

虽然我可以使用fgets和各种内置函数来解决这个问题,但我现在处理scanf问题可能会更容易.但是,如果不是这样,使用fgets,strtok和atoi将完成大部分工作,但我仍然需要连续识别两个空格.

下面将采用整数直到输入非整数.

while ( scanf ( "%d", &x ) == 1 )

我需要做的是读取空格,如果有两个连续的空格,我将使程序与下一组数据做一些不同的事情.

一旦我得到一个白色空间,我不知道该怎么说:

if ((input == "whitespace") && (previousInput == "whitespace"))
  ya da ya da
else (input == "whitespace")
  ya da ya da
else 
  ya da ya da

感谢您的时间,感谢您的帮助.

获得的经验: 尽管Jonathan Leffler在下面发布了scanf的解决方案,但getc的解决方案更加简单(通过对内部scanf,正则表达式和char的更少了解).回想起正则表达式的更好的知识,scanf和char会使问题变得更容易,当然知道哪些函数可用,哪一个是从一开始就使用的最好的函数.

c whitespace scanf fgets

9
推荐指数
1
解决办法
3万
查看次数

如何从\n分隔文件中读取字符串

我正在尝试读取返回分隔文件.充满了短语.

我正在尝试将每个短语放入一个字符串中.

问题是当我尝试用文件读取时

fscanf(file,"%50s\n",string);
Run Code Online (Sandbox Code Playgroud)

该字符串只包含一个单词.当它与空间碰撞时,它会停止读取字符串

c scanf stdio fgets

6
推荐指数
2
解决办法
3034
查看次数

标签 统计

c ×3

scanf ×3

fgets ×2

stdio ×1

whitespace ×1