我有一个带有“;”的文件 作为分隔符,我想获取一些字符并将它们保存为浮点数,我想出了这样的东西:
int c;
char help[10];
float x;
while(getc(c)!=';'){
strcpy(help, c);
}
float = atof(help);
我有一个带有“;”的文件 作为分隔符,我想获取一些字符并将它们保存为浮点数,我想出了这样的东西:
int c;
char help[10];
float x;
while(getc(c)!=';'){
strcpy(help, c);
}
float = atof(help);
的正确用法getc
。它是int getc(FILE *stream)
。所以你需要提供stream
它从中读取的内容。
while(getc(c)!=';'){ <-- wrong
strcpy(help, c); <-- wrong
...
是错的。第二个参数strcpy
应该是一个空终止char
数组。
char cs[]={c,0}
strcpy(help,cs);
甚至更好的建议
{strcpy(help, (char[2]){c});}
关于输入部分,您可以这样做:
while((c=getc(stdin))!=';'){
...
与其使用atof
它,不如使用它strtof
或strtod
函数。与这些功能不同,它们提供错误检查ato*
。