我正在尝试从标准输入解析一个字符串,例如这个 { 7 , 3,5 ,11, 8, 16, 4, 9, 2
,8, 4, 2}
(2 和 8 之间有一个\n )。
我已经制作了一个函数来提取数字并修剪逗号空格和换行符(接受 char* 作为输入),但问题是当我尝试使用 scanf 获取输入时,我无法获取空格,所以我使用了 fgets 代替,但是fgets 一旦看到\n 就会退出。
有什么办法可以从中获取字符串吗?
最佳答案
int nums[1000], count = 0;
char chr;
while(scanf("%c%d", &chr, &nums[count]) > 0) //there was at least one match
{
if(chr == '}')
break; //we have reached the end
if(chr != ',' && chr != '{')
continue; //skip spaces (} is an exception)
count++;
}
关于c - 读取带有换行符和空格的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47739813/