如何从文件中获取值,对这些值应用公式,并将它们写入c中的文件
如何从文件中获取值,对这些值应用公式,然后用c将它们写入文件? 这看起来很简单,我试过的只是写了和我有样本一样多的数字。我想用新值写一个文件如何从文件中获取值,对这些值应用公式,并将它们写入c中的文件,c,C,如何从文件中获取值,对这些值应用公式,然后用c将它们写入文件? 这看起来很简单,我试过的只是写了和我有样本一样多的数字。我想用新值写一个文件 printf("Enter the number of sample values in the file minus 1.\n"); //11025 scanf("%d",&n); printf("using %d sample values.\n",n); // fseek(filein, "%lg", SEE
printf("Enter the number of sample values in the file minus 1.\n"); //11025
scanf("%d",&n);
printf("using %d sample values.\n",n);
// fseek(filein, "%lg", SEEK_SET);
for ( c = 0 ; c <= n ; c++ )// // Convert a reading (which goes from 0 - 65536) to a value (-1 - 1):
// float voltage = sensor * (1 / 65536.0);
{
fseek(filein, n, SEEK_SET);
fscanf(filein, "%lg", var);
sum = var * (maxy / 65536.0);
//todo?
//todo?
fprintf(fileout,"%lg\n",sum);
}
getchar();
fclose(filein);
fclose(fileout);
return 0;
}
return 0;
} ```
printf(“在文件中输入样本值的数量减去1。\n”)//11025
scanf(“%d”和“&n”);
printf(“使用%d个样本值。\n”,n);
//fseek(filein,“%lg”,SEEK_SET);
对于(c=0;c而言,此答案基于发布在上的代码
fseek()
是问题的一部分,因为它会一直重置到文件的开头
您可以不使用fseek()
来执行此操作,文件将从头开始打开,您正在读取二进制数据
您可能应该使用fgets()
而不是fscanf()
分别读取每一行,并使用sscanf()
转换文本
在fprintf()
和fscanf()
中所需的格式只是%g
或%g
,而%l
用于长
整数
由于代码已经在使用stdlib.h
使用宏EXIT_SUCCESS
和EXIT_FAILURE
而不是0
,1
,SUCCESS
或ERROR
注意在C编程中SUCCESS
应该是0
,而ERROR
应该是1
这个程序非常需要函数,你在太多地方重复代码
for
循环是一个等待发生的错误,因为它可以尝试读取超过文件结尾的内容。如果while
循环同时包含行计数和,而不是文件结尾
则更好
根据需要声明变量。您的问题不清楚。请将stdin
重定向到输入文件,将stdout
重定向到输出文件。然后从文件中读取,应用公式并写回stdout(将写入您的文件)。可以在上找到此程序的完整源代码。该问题已接近结束。