gpt4 book ai didi

c - 解析中的段错误

转载 作者:太空宇宙 更新时间:2023-11-04 05:54:42 24 4
gpt4 key购买 nike

我正在尝试构建将 HTML 转换为文本文件的代码。

#include <stdio.h>
#include <stdlib.h>
#define BUFLEN 2048

int main(){
FILE *fp;
fp = fopen("tc.txt", "r");
int i = 0;
int j = 0;
char storage[BUFLEN];
char title[100];

fread(storage, 1, sizeof(storage), fp);
for(i=0; storage[i]; i++){
if(storage[i] == '<' && storage [i+1] == 't'){
for(i=i+7; storage[i] != '<'; j++){
title[j] = storage[i];
}
}
}
puts(title);
fclose(fp);
return 0;
}

基本上我要做的是在 html(转换为 txt 文件)中查找 <title> block ,然后复制后面的任何内容,直到程序到达“<”,这表示 </title> block .

但是,当我运行程序时,出现段错误。

最佳答案

所以我怀疑您的 Seg Fault 可能来自您的最后一个 for 循环。

for( i=i+7; storage[i] != '<'; j++ ){
title[j] = storage[i];
}

您没有更新 i 的值在这个循环中,因为,如果你愿意,我相信它需要紧挨着 j++ .因此,您的循环会继续运行并递增 j , 与 i永远不会改变,直到你到达标题数组的末尾。然后您尝试访问标题数组没有的内存,然后出现段错误。

关于c - 解析中的段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30365886/

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