gpt4 book ai didi

将整个文本文件复制到二维数组中

转载 作者:行者123 更新时间:2023-11-30 20:40:24 24 4
gpt4 key购买 nike

我想将整个文本文件复制到动态初始化的二维数组中。我首先计算了文本文件中存在的行数,然后

file = (char **) malloc (sizeof(char*) * total_lines) ;

for (i = 0; i < total_lines; i++)
file[i] = (char *) malloc (sizeof (char) * MAX_CHAR) ;

其中 MAX_CHAR 预定义为 1024。现在我只是将文件逐行复制到数组中

k = 0 ;
while (fgets (line, sizeof(line), fp))
strncpy (file[k++], line, MAX_CHAR) ;

但是我的程序在这里崩溃了。

编辑

char line[1024] ;

fp = fopen (filename, "r"))
//total lines
while (fgets (line, sizeof(line), fp))
printf ("%d. %s", ++i, line) ;
total_lines = i - 1 ;

最佳答案

在行

total_lines = i - 1 ;

您将 total_lines 设置为文件中的行数减 1。这意味着您不会为所有行分配足够的内存,并且尝试读取最后一行将读取过去分配的file数组的末尾。

关于将整个文本文件复制到二维数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22589702/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com