gpt4 book ai didi

c++ - 段错误进程返回 139 (0x8b)

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:57:56 26 4
gpt4 key购买 nike

我是 Linux 和代码块的新手。在构建下面的代码时,我收到此错误:

"segmentation fault process returned 139 (0x8b)"

我知道这与内存有关,但我找不到问题所在。在使用 Makefile 或在终端中单独编译文件时,我没有收到任何错误。

main 接收 2 个参数 (argv) ComputersInNet.txt -> argv[1] Simulation.txt -> argv[2]

而且我不知道如何使用代码块将这些文件添加到项目中,同样在 Windows (Visual Basic) 中,代码也能完美运行。

我无法正确粘贴代码(5 个文件:2 个 .h 和 3 个 .cpp)您可以从下面的链接下载它们,包括我用作参数的两个 txt 文件。

http://depositfiles.com/files/cv2bwmz74

最佳答案

出现代码片段问题,从 main() 调用子例程 Create_PC_List() 以创建计算机列表。

void Router :: Create_PC_List (char *fname) //Reads from file & creates list of computers
{
char C;
char* IPAD=NULL;
FILE* fp;
FILE* msg;
int counter=0;
fp = fopen (fname,"r"); //Reading from Argv parameter file - list of computers in the network
if(fp == NULL)
cout << "Opening file failed: %s\n" << strerror(errno) << endl;
msg = fopen (fname, "r"); //Reading from Argv parameter file - list of computers in the network
while((C=fgetc(fp)) != EOF) //Running trougth the file
{
...

输出:

Opening file failed: No such file or directory
followed by segmentation fault.

我们可以看到 fopen() 失败并出现错误 “No such file or directory”。因此,您需要找到一种方法,将三个文本文件添加到代码块中,并使其可供 fopen() 使用。

其次,段错误的原因是提供给 getc() 的 fp 是一个 FILE * 指针,其中包含一个 NULL 地址,它不是有效的 FILE 对象。

关于c++ - 段错误进程返回 139 (0x8b),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13689061/

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