1

我正在尝试确定一种输入数据时的方式,如下所示:

Name Integer
Name Integer
Name Integer
.

每次输入名称和整数并检测到换行符时,都会使用该名称和整数完成操作,然后一次又一次,直到“。” 被检测到。

例如,我尝试过getchar()循环和 IF 语句来检测'\n',但似乎都不起作用。有任何想法吗?

4

4 回答 4

1

What about using scanf()?

scanf("%s %d\n", my_string, &my_int);

http://linux.die.net/man/3/scanf

于 2011-11-15T17:40:10.627 回答
0

怎么样:

#include <string.h>
#include <stdio.h>

int main()
{
    char input[30];
    gets(input);
    while(strcmp(input, ".") != 0)
    {
        // do stuff
        gets(input);
    }
    return 0;
}
于 2011-11-15T17:49:49.793 回答
0

不要scanf直接使用。使用起来非常困难。最好读取整行输入(例如,使用fgets)然后解析它(可能使用sscanf)。

于 2011-11-15T21:08:29.833 回答
0
scanf("%s%d\n", name, &intVar);
if((*name=='.') && (*(name+1)=='\0')){
return 0;
}

这应该足够了

于 2011-11-15T17:46:51.290 回答