gpt4 book ai didi

C 读/写文件 - 访问冲突

转载 作者:行者123 更新时间:2023-11-30 17:05:39 31 4
gpt4 key购买 nike

我正在尝试从文件中读取和写入简单的中缀和后缀表达式。当程序到达调用 fgets 的行时,会弹出访问冲突错误。

代码:

#include <stdio.h>
#include <stdlib.h>
#include "header3.h"

char inFx[100], postFx[100];

int main() {
FILE *fp = fopen_s(&fp, "input.txt", "r");
remove("output.txt");
FILE *fp2 = fopen_s(&fp2, "output.txt", "a");
if (fp == 0)
{
printf("Could not open file\n");
}
else
{
int i = 0;

while (fgets(inFx, sizeof(inFx), fp)) { //access violation during runtime here
size_t ln = strlen(inFx);
int n = expEvaluate(inFx, ln, postFx); //refers to other class
if (inFx[ln] == '\n')
inFx[ln] = '\0';
if (fp2 == 0)
{
printf("Could not open file\n");
}
else
{
while (*(postFx + i) != 0)
{
fputc(*(postFx + i++), fp2);
}
fputc('\n', fp2);
}
}
}

fclose(fp2);
fclose(fp);


return 0;
}

最佳答案

fopen_s() 返回错误代码,而不是文件句柄(分配给第一个参数)。

关于C 读/写文件 - 访问冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35161223/

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