【发布时间】:2015-05-03 14:20:20
【问题描述】:
此函数将倒带文件,创建动态数组(大小),并读入数据,填充 _data 结构动态数组。请注意,流 这次是按值传递。然后该函数返回填充的 结构数组
struct _data
{
char* name;
long number;
};
struct _data *load(FILE *stream, int size)
{
struct _data BlackBox = calloc(size, sizeof(_data));
char tempName[3];
stream = fopen("names.txt", "r");
for (int i=0; i<size; i++)
{
fscanf(stream, "%s %ld", tempName, &data.number);
BlackBox[i].name = calloc(strlen(tempName), sizeof(char));
strcpy(BlackBox[i].name, tempName);
}
fclose(stream);
return &BlackBox;
}
File Content
ron 7774013
jon 7774014
我是初学者,在设计代码时遇到了困难。有人可以解释一下。谢谢
【问题讨论】:
-
你有什么问题?
-
@QmickZh 代码无法编译。我想将文件的内容加载到结构中。函数 (*load) 将被 main 调用。
-
这段代码的所有错误都可以在编译器输出中轻松找到。你应该先阅读它。
标签: c arrays dynamic stream pass-by-value