【发布时间】:2015-03-31 05:04:13
【问题描述】:
我正在尝试动态创建一个二维数组,然后打开一个 txt 文件并复制每个宽松的二维数组。然后将此数组保存回我的主目录。我一直遇到分段错误。任何建议如何修复此代码? 顺便说一句,我认为问题在第二次 while 循环发生后出现......
#include<stdio.h>
char **randomArrayofStrings(){
char **twoArray=null;
int rows=50;
int col=20;
i=0;
FILE *file=null;
int messageSize=50;//this is number is trivial
file = fopen("somefile.txt","r");
twoArray= malloc(rows*sizeof(char*));
for(i=0;i<col;i++)
{
twoArray[i]=malloc(rows*sizeof(char));
strcpy(twoArray[i], "some random word");
}
while(!feof(file))
{
fgets(dArray[i],messageSize, file);
strtok(dArray[i], "\n");
i++;
}
return twoArray;
}
int main(int argc, char **argv)
{
char **localArray=null;
localArray=randomArrayofStrings();
for(i=0;i<20;i++)//20 is just a random number
printf("Strings: %s", localArray[i]);
}
【问题讨论】:
-
return twoArray->return twoArray;(缺少;)。
标签: c arrays pointers segmentation-fault malloc