【发布时间】:2012-01-20 17:00:30
【问题描述】:
我是 C 新手,所以如果你看到我明显愚蠢的东西,请告诉我 :)
我想要做什么
我有一个文件,其中包含换行符分隔的字符串值,我正在尝试将其读入我的程序,以便可以使用它们与其他值进行比较。我认为将它们存储在多维数组中的最佳方法。我的代码如下所示:
char **data;
char *src_line;
int counter = 0; /* To keep track of how many items are in this array */
...
while(fgets(src_line,MAX_LINE_SIZE,fp_src_file) != NULL){
int tmp = 0;
while(src_line[tmp] != '\0'){
if(src_line[tmp] == '\n'){
src_line[tmp] = '\0';
}
tmp++;
}
strcpy(data[counter],src_line);
counter++;
}
这在 strcpy 期间会出现段错误。我在网上找到的大多数处理多维数组的资源都使用常量值。我确信这可能不是这样做的最佳方式..
我的问题
- 有没有更好的方法来完成我想做的事情?
- 将未知数量的项目放入多维数组的正确方法是什么。我应该这样做吗?
谢谢!
【问题讨论】:
-
您能否包含实际为数据分配内存的代码部分? (你真的在分配内存吗?)
标签: c