私はデータがこのようなのような入力される方法を識別しようとしている:この入力を処理する方法は?
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'の組み合わせですか? –