我試圖找出一種方式,這時候數據是像這樣的輸入:一種處理這種輸入的方法?
Name Integer
Name Integer
Name Integer
.
每個名稱和整型被輸入,並檢測到新行時間,東西與該名稱做,整數,然後再一次,直到'。'被檢測到。
我試過getchar()
循環和IF語句檢測'\n'
例如,但似乎沒有工作。有任何想法嗎?
我試圖找出一種方式,這時候數據是像這樣的輸入:一種處理這種輸入的方法?
Name Integer
Name Integer
Name Integer
.
每個名稱和整型被輸入,並檢測到新行時間,東西與該名稱做,整數,然後再一次,直到'。'被檢測到。
我試過getchar()
循環和IF語句檢測'\n'
例如,但似乎沒有工作。有任何想法嗎?
scanf("%s%d\n", name, &intVar);
if((*name=='.') && (*(name+1)=='\0')){
return 0;
}
這應該是足夠了
如何:
#include <string.h>
#include <stdio.h>
int main()
{
char input[30];
gets(input);
while(strcmp(input, ".") != 0)
{
// do stuff
gets(input);
}
return 0;
}
不要直接使用scanf
。令人驚訝的是很難使用。最好閱讀整行輸入(例如,用fgets
),然後解析它(可能用sscanf
)。
你爲什麼不嘗試使用scanf(「%d \ n」,&myvar)? –
你可以發佈一些你的嘗試,爲什麼他們不工作? –
或者'fgets'和'sscanf'的組合? –