如何使用C递归地反向并打印大的txt文件

问题描述

我是编程新手,所以在这里有些挣扎。目前,我的错误与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 (将#修改为@)