gpt4 book ai didi

c - 分割失败?为什么?

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

我会将带有一个或多个 Pascal 字符串的二进制文件转换为 .Txt 文件。这是正确的方法,但它出现了 Segmentation fault。没看懂,问题出在哪里。文件大小为 23。

void printFile(char *buffer, char *output_file, int file_size)
{
FILE *out_file = fopen(output_file, "w");
int i = 0;
int j = 1;
int cnt = 0;
int cnt_word = 0;
int block = 4;

while (i < block)
{
cnt = cnt + buffer[i];
i++;
}

while (j <= cnt)
{
while (i < file_size)
{
while (i < (i + block))
{
cnt_word = cnt_word + buffer[i];
i++;
}

while (i < (i + cnt_word))
{
fprintf(out_file, "%c", buffer[i]);
i++;
}

fprintf(out_file, " ");
cnt_word = 0;
j++;
}
}

fclose(out_file);
}

这是在其他函数 get filesize 中:

fseek(in_file, 0, SEEK_END);
file_size = ftell(in_file);
rewind(in_file);

//allocate memory for buffer
buffer = malloc(file_size);

最佳答案

while (i < (i + block)) 

这里的 block 是 4,我不明白这个条件怎么会失败

关于c - 分割失败?为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20071988/

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