问题描述
我是编程新手,所以在这里有些挣扎。目前,我的错误与2D阵列不兼容有关。该代码的目的是读取一个较大的文本文件,然后逐个字符地递归地向后打印。
我的行动计划是将从txt文件中读取的数据存储到2D数组中。此数据将使用递归功能存储,然后再打印到另一个txt文件。
这是我当前的代码:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
char fillArray(FILE* fileIn,char array,int rowCount,int colCount);
int main (int argc,char* argv[]){
int rowCount = 50000;
int colCount = 100; //arbitrary numbers chosen
char array[rowCount][colCount];
FILE* fileIn = NULL;
fileIn = fopen(argv[1],"r");
if (fileIn == NULL){
printf("ERROR FILE DOES NOT OPEN");
return 1; //to exit
}
/* array = (char**)(malloc(rowCount*colCount* sizeof(*array)));
if(!array){
printf("ERROR: malloc wasnt assigned");
return 1;
} */
fillArray(fileIn,array,rowCount,colCount);
fclose(fileIn);
free(array);
return 0;
}
char fillArray(FILE* fIn,int colCount){
if(rowCount == 0 && colCount == 0){
return 0;
}
else{
fscanf(fIn,"%s",&array[rowCount][colCount]);
if(array[rowCount][colCount] == '\n'){
return fillArray(fIn,rowCount-1,colCount-1);
}
else{
return fillArray(fIn,colCount-1);
}
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)