gpt4 book ai didi

c - ubuntu 12.04 yylex() 调用中的段错误(核心转储)

转载 作者:太空宇宙 更新时间:2023-11-04 08:33:35 25 4
gpt4 key购买 nike

下面的代码试图连接两个文本文件,并将输出写入另一个文本文件。正如所见,我使用 yylex() 函数从输入文件中获取标记。 yywrap() 函数帮助我从第一个文本文件传递到第二个文本文件,并在到达 EOF(文件结尾)时发出信号。为什么我的笔记本电脑上出现错误 “Segmentation fault (core dumped)”,而在我同事的笔记本电脑上运行正常?我提到我正在使用终端作为根。这就是我使用命令的方式:

::-:lex tokdef.l
::-:cc lex.yy.c -o dan -ll
::-:./dan 1text 2text outtext
Segmentation fault (core dumped)

这是我的代码:

%{
#include<string.h>
int second_file = 0;
char *nume2;
%}
%%
.;
\n;
%%
int main(int argc, char *argv[])
{
nume2=(char*)malloc(sizeof(char)*(strlen(argv[2])+1));
strcpy(nume2, argv[2]);
yyin = fopen(argv[1], "r");
yyout = fopen(argv[3], "w");
yylex();
fclose(yyin);
fclose(yyout);
}
int yywrap()
{
if(second_file == 0)
{
fclose(yyin);
yyin = fopen(nume2,"r");
second_file = 1;
return 0;
}
else
return 1;
}

最佳答案

我弄清楚是什么问题了。所以我如何使用终端(root 或常规)并不重要。问题与输入文件(1text 和 2text)有关。首先,我创建了 1text 并创建了 2text,我刚刚复制并粘贴了 1text 文件并将其重命名为 2text。那么,我的下一个问题是:当我将文件复制并粘贴到同一文件夹时会发生什么情况?

关于c - ubuntu 12.04 yylex() 调用中的段错误(核心转储),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27202558/

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