gpt4 book ai didi

c - 在 Visual Studio C 中编程

转载 作者:行者123 更新时间:2023-11-30 21:47:56 25 4
gpt4 key购买 nike

命令行总是打印“无法读取”!!

调试断言失败!

程序:E:\CTDL\1311370\Debug\1311370.exe文件:f:\dd\vctools\crt\crtw32\stdio\fclose.c线路:46

表达式:(stream != NULL)

#include "1311370_SearchA1s.h"
#include "1311370_SortA1s.h"

void main(){
char fileIn[100], fileOut[100];

printf("Enter Link of The Test File : ");
flushall();
gets(fileIn);

printf("Enter Link of The Result Folder : ");
flushall();
gets(fileOut);
strcat(fileOut, "\\1311370_BaiThucHanhSo1.txt");//nối thêm vào đường dẫn ghi file

FILE * fin = fopen(fileIn, "r");
FILE * fout = fopen(fileOut, "w");

if (fin == NULL){
printf("Can Not Read File\n");
fclose(fin);
fclose(fout);
exit(0);
}

else{
char str[100], a[100], b[1];

fgets(str, 100, fin);

fprintf(fout , "Ex1Test1");

fgets(a, 100, fin);
fgets(b, 1, fin);

int n = countSpace(a) + 1;
int *array = convertStringToArray(a);
int x = atoi(b);

int pos = LSearch(array, n, x);

fprintf(fout , "%d" , pos);

delete array;
}
getch();
}

最佳答案

消息看起来很清楚。它告诉您,在 fclose 实现内部的某处,有一个要求(通过断言强制执行),即输入不能为 NULL

事实上,如果您阅读文档,您会发现fclose采用指向流的FILE*,而不是空值指针。

在您的代码中,您实际上finNULL时调用fclose(fin)。完全缺乏除此之外,如果您真的想编写 C++,有比这更好的方法来处理文件 I/O。打开 C++ 书籍中的文件 I/O 章节并继续阅读!祝你好运。

关于c - 在 Visual Studio C 中编程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32997367/

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