我正在尝试用 C 编写一个程序来检测 CSV 格式,例如。十进制commadecimal。并给出文件是否为所需格式的输出。我尝试使用来自标准输入的各种输入并使用 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,我想按照建议使用返回值来执行此操作。
#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;
}