에 float 배열에 번호를 떠있는 텍스트 파일 읽기 방법 : 텍스트 파일에 위의 형식으로나는 다음과 같이 텍스트 파일을 읽기 위해 노력 해왔다 C
0.000 1.800 3.240 4.374 5.249 5.905 6.377 7.696 6.887 6.974 6.974 6.904 6.778 6.609 6.406 6.177 5.930 5.670 5.403 5.133 4.863 4.596 4.333 5.077 3.829 4.589 3.360 3.140 2.931 2.732 2.543 2.365 2.198 2.040 1.891 1.752 1.622 1.500 1.387 1.281 1.182 1.091 2.006 0.927 0.853 0.786 0.723 0.665 0.611 0.561 0.515 0.473 0.434 0.398 0.365 0.335 0.307 0.281 0.257 0.236 0.216 1.197 0.180 0.165 0.151 0.138 0.126 0.115 0.105 0.096 0.088 0.080 0.073 0.067 0.061 1.055 0.051 0.046 0.042 0.038 0.035 0.032 0.029 0.026 0.024 0.022 0.020 0.018 0.017 0.015 0.014 0.012 0.011 0.010 0.009 0.009 0.008 0.007 1.006 0.006 0.005 0.005
이 번호가 있습니다. printf
의 출력은 실행시 정수의 모든 요소는 제로 점이다
#include <stdio.h>
#include <stdlib.h>
void main()
{
FILE *file = fopen("Data.txt", "r");
float integers[102];
int i=0;
int num;
while(fscanf(file, "%f", &num) >0) {
integers[i] = num;
i++;
}
if(file == NULL)
{
printf("Error while opening the file.\n");
}
fclose(file);
for(i = 0;i <102; i++){
printf("integers[%d] = %f",i, integers[i]);
}
}
다음과 같이
내 코드이다. 또한 디버깅 할 때 컴파일러는 while 루프를 건너 뜁니다. Code Composer Studios를 사용하고 있습니다. 내 머리 위로 떨어져
왜 float 배열을 "정수"라고 부릅니까? 왜 읽은 정수를'float'가 아니라'int'에 저장합니까? 아주 늦은 시간에 'null'을 왜 확인합니까? – Zeta
'fopen'가'NULL'을 반환하면 테스트를 시작하고, 그렇다면 오류 메시지를 출력하고 더 이상 가지 않습니다. –
@Zeta 코드가 원래 코드가 아니므로 코드를 수정하여 수레를 읽어야했습니다. 변수는 원본에서 변경되지 않았습니다. –