一种处理这种输入的方法?

时间:2011-11-15 17:36:21

标签: c input getchar

我正在尝试确定何时输入数据的方式:

Name Integer
Name Integer
Name Integer
.

每次输入名称和整数,并检测到换行符时, stuff 用该名称和整数完成,然后再次,再次,直到'。'被检测到。

我尝试了getchar()循环,并尝试使用IF语句来检测'\n',但似乎都没有。有什么想法吗?

4 个答案:

答案 0 :(得分:1)

如何使用scanf()

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

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

答案 1 :(得分:0)

scanf("%s%d\n", name, &intVar);
if((*name=='.') && (*(name+1)=='\0')){
return 0;
}

这应该就够了

答案 2 :(得分:0)

怎么样:

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

int main()
{
    char input[30];
    gets(input);
    while(strcmp(input, ".") != 0)
    {
        // do stuff
        gets(input);
    }
    return 0;
}

答案 3 :(得分:0)

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