【发布时间】:2014-03-24 23:39:13
【问题描述】:
我正在尝试将一些数据 fscanf 到一个结构中,编译器对代码没有问题,但是当我尝试打印它时,它甚至不打印文本。这是代码:
#include <stdio.h>
#include <stdlib.h>
typedef struct xy {
unsigned x;
unsigned y;
} myStruct;
int main(void)
{
FILE *myFile;
myStruct *xy;
myFile = fopen("filename.txt", "rb");
if(fscanf(myFile, "%u %u", &xy->x, &xy->y) != 2)
fprintf(stderr, "Error!"); exit(1);
fclose(myFile);
printf("x: %u, y: %u\n", xy->x, xy->y);
return 0;
}
我需要为此分配空间吗?如果我必须这样做,你能告诉我如何去做吗?
【问题讨论】:
-
这有点“离题”,但您应该明确检查
fopen()的返回值!始终检查您使用的系统功能的人,以了解它们是否会失败(这一点很明显)。 -
是的,没有包含整个源代码,只是想发布相关的内容。