CSV ファイルを検証するプログラムを作成しています。フォーマットの制限は次のとおりです。
- 行はカンマで終わることはできません。数字で終わる必要があります。
- 行をコンマで始めることはできません。数字でなければなりません。
- 行は空白にすることができます。
- 数値として使用できるのは 1 桁のみです (つまり、0 未満または 9 を超える数値は使用できません)。
- 2 つのコンマを隣り合わせにすることはできません。数字で区切る必要があります。
編集:
フィードバックに基づいて、コードにいくつかの変更を加えました。whileループが実際に何をしているのか誰か説明してもらえますか? そして、なぜスイッチが機能しないのですか?私は今、すべての入力に対して1を取得しています。スイッチで isdigit を使用できますか?
#include <ctype.h>
#include <stdio.h>
int main()
{
int c;
while ((c = getchar()) != EOF )
{
switch(c)
{
case'0':
printf("1");
break;
case'1':
printf("1");
break;
case'2':
printf("1");
break;
case'3':
printf("1");
break;
case'4':
printf("1");
break;
case'5':
printf("1");
break;
case'6':
printf("1");
break;
case'7':
printf("1");
break;
case'8':
printf("1");
break;
case'9':
printf("1");
break;
case',' :
printf("1");
break;
case'\n' :
printf("1");
break;
default :
printf("0");
break;
}
}
}