0
如何阅读逗号分隔双打而没有空格?使用fscanf读取逗号分隔双打
我试过以下内容:fscanf(file, "%lf[^,], &x)
但它不起作用。
该文件将采用以下格式:
1.0,2.0,4.0
3.0,6.0,1.0
如何阅读逗号分隔双打而没有空格?使用fscanf读取逗号分隔双打
我试过以下内容:fscanf(file, "%lf[^,], &x)
但它不起作用。
该文件将采用以下格式:
1.0,2.0,4.0
3.0,6.0,1.0
而不是使用[^,]
正则表达式,你直接使用,
。
#include <stdio.h>
int main(){
FILE *fp;
double buff[255];
int i=0;
fp = fopen("file.txt", "r");
while(fscanf(fp, "%lf,",&buff[i++])!=EOF){
printf("%0.1lf ", buff[i-1]);
}
fclose(fp);
}
请注意'!= EOF'条件并不是一个好主意。如果用户输入一个字母而不是逗号,那么您的循环将无限期地继续。由于您一次扫描一个值,因此您应该查找“== 1”。 –
尝试'的fscanf(文件, “%LF,”,&X)' – BLUEPIXY
参见[问题扫描到阵列中的C](https://stackoverflow.com/questions/46761990/problems-scanning-into -array-在-C)。 –