Luc*_*ida 0 c data-manipulation
我有这个文件 txt 有这三个数字“4.151120 4.100 7.9999”。我应该创建一个程序来读取它并对其进行一些进一步的操作。但我不能
int main (int argc, char *argv[]){
FILE *arq;
arq = fopen("values.txt","r");
float num1, num2, num3;
fscanf(arq,"%.6f %.6f %.6f", &num1, &num2, &num3);
printf("%.6f %.6f %.6f", num1, num2, num3);
fclose(arq);
return 0;
Run Code Online (Sandbox Code Playgroud)
它很简单:
#include <stdio.h>
int main(void)
{
FILE *arq;
arq = fopen("values.txt", "r");
float n1, n2, n3;
if(fscanf(arq, "%f%f%f", &n1, &n2, &n3) != 3)
fprintf(stderr, "Something's wrong\n");
else
printf("Numbers are %f, %f, %f\n", n1, n2, n3);
fclose(arq);
}
Run Code Online (Sandbox Code Playgroud)
您不必声明精度(输入没有实际意义),除非您想匹配数字之间的特定字符串而不是用空格分隔(默认),否则您可以将其省略。
作为一个特殊的豁免,您可以省略return 0from main,它在此处暗示。