CSV形式を検出する割り当て用のプログラムをCで作成しようとしています。decimalcommadecimal。そして、ファイルが必要な形式であるかどうかに関する出力を提供します。stdinからのさまざまな入力やisdigitなどを使用してみましたが、成功しませんでした。私はメガ初心者で、これまでCプログラミングをほとんど行ったことがありません。regexcを使おうとしましたが、それを使用するための構文を理解できませんでした。
#include <ctype.h>
#include <stdio.h>
const char EOL = '\n';
int cbreak(void);
int check_dig(void);
int value =1;
char c;
int main()
{
while((scanf("%c" ,&c)) !=EOF&& value !=0)
check_dig();
printf("\n%d\n",value);
}
int check_dig()
{
if (c == EOL)
scanf("%c", &c);
if (c == isdigit)
scanf("%c", &c);
else if (c == ',')
scanf("%c", &c);
else value = 0;
}
ありがとうみんな私は今この段階にいますが、終了する方法として困惑しています。検証に応じて1または0のいずれかをprintfする必要があり、戻り値を使用して提案されたようにこれを実行したいと思います。
#include <ctype.h>
#include <stdio.h>
int check_digit(int);
int check_comma(int);
int skip_char(int);
int main()
{
int c;
while ((c = getchar()) !=EOF)
if (check_digit(c))
skip_char(c);
else if (check_comma(c))
skip_char(c);
else return 0;
}
int check_digit(int c)
{
if (isdigit(c))
return 1;
else return 0;
}
int check_comma(int c)
{
if (c == ',')
return 1;
else return 0;
}
int skip_char(int c)
{
c = getchar(); // will this skip 2 chars as i have a while loop that has c=getchar()??
return c;
}