gpt4 book ai didi

c - 当我的文本文件包含超过限制的字符时接收信号 SIGTRAP

转载 作者:行者123 更新时间:2023-11-30 17:33:52 27 4
gpt4 key购买 nike

我是 C 新手,无法解决这个问题。当我在文本文件上写入超过 27 个字符时,我会收到信号 SIGTRAP。跟踪/断点陷阱。我在网吧电脑windows 7上用Dev-C++编译。文本文件内容:Dinosaurs are a different group of Animals of the clade Dinosauria

int main(int argc, char *argv[]) { 
FILE *myinput;
char **arr, **temp;
char string[50];
int i,j,wrd;

arr=NULL;
temp=NULL;
i=0;
myinput = fopen("word.txt", "r");
while(1)
{
wrd = fscanf(myinput, "%s",string);
if(!(wrd>0))
{
break;
}
temp=(char **)realloc(arr,i+1);
arr=temp;
arr[i]=(char *)malloc(sizeof(char)*(strlen(string)+1));
strcpy(arr[i],string);
i++; //counting words in a line from txt file.
}
for(j=0;j<i; j++)
{
printf("%s ", arr[j]);
}
free(arr);
return 0;
}

最佳答案

您的 realloc() 函数有一个不正确的参数:大小。您应该分配一个指针大小乘以数字 i,但您只分配了 i。

temp=(char **)realloc(arr, sizeof( char* ) * (i+1) );

剩下的唯一问题可能是您没有包含必要的 header 。

关于c - 当我的文本文件包含超过限制的字符时接收信号 SIGTRAP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23613542/

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