for
루프가 내 코드에서 작동하지 않습니다. 할당 된 전체 구조체가 숫자로 올바르게 채워 졌음에도 불구하고 [700]에서 [999]까지의 결과 만 보여줍니다 (검증했습니다). 또한 이전에 인쇄 한 내용은 모두 삭제합니다 (따라서 printf("check")
). 이전에 사용했던 것과 비슷한 기능으로 교체하려고 시도했지만 작동하지 않았습니다. "%f %f"
사이의 ';'
은 내가 읽는 파일에서 내 변수를 분리하기 때문에 존재합니다. 또한 u=1000
fscanf 및 printf를 사용한 내 for 루프가 모두 인쇄되지 않습니다.
#include "stdafx.h"
#include "stdio.h"
#include "stdlib.h"
struct punkt {
float czas;
float wartosc;
};
int main() {
FILE *pt;
pt = fopen("C:\\Users\\Lenovo\\Desktop\\sygnal.csv", "r+");
if (pt == NULL) {
printf("error");
getchar();
return 0;
}
int u = 0;
float a, b;
while (fscanf(pt, "%f; %f", &a, &b) != EOF) {
u++;
}
rewind(pt);
punkt* ptr = (punkt*) malloc(u * sizeof(punkt));
printf("%i", u);
printf("check");
getchar();
int x;
for (x = 0; x < u; x++) {
fscanf(pt, "%f; %f", &ptr[x].czas, &ptr[x].wartosc);
printf("%f %f\n", ptr[x].czas, ptr[x].wartosc);
printf("%i ", x);
}
getchar();
free(ptr);
fclose(pt);
return 0;
}
이 코드입니까? 구조체를'typedef struct {...} punkt; '라고 재 작성하지 않으면 컴파일되지 않습니다. –
네, 그건 내 것입니다. 내가 사용한 라이브러리를 추가하는 것을 잊어 버렸다. 죄송 해요. 나는 그것을 편집했다. – Dudu
나를 위해 typedef없이 작동합니다. – Dudu