visualstudioc中的程序设计

visualstudioc中的程序设计,c,C,命令行始终打印“无法读取” 调试断言失败 程序:E:\CTDL\1311370\Debug\1311370.exe 文件:f:\dd\vctools\crt\crtw32\stdio\fclose.c 电话号码:46 表达式:(流!=NULL) 这个信息似乎很清楚。它告诉您,在fclose的实现内部的某个地方,有一个要求(通过断言强制)输入不能为NULL 事实上,如果您阅读文档,您将看到fclose接受指向流的文件*,而不是空指针 在您的代码中,当代码> FIN null >代码>时,您只需

命令行始终打印“无法读取”

调试断言失败

程序:E:\CTDL\1311370\Debug\1311370.exe 文件:f:\dd\vctools\crt\crtw32\stdio\fclose.c 电话号码:46

表达式:(流!=NULL)


这个信息似乎很清楚。它告诉您,在
fclose
的实现内部的某个地方,有一个要求(通过断言强制)输入不能为
NULL

事实上,如果您阅读文档,您将看到
fclose
接受指向流的
文件*
,而不是空指针


<>在您的代码中,当<>代码> FIN <代码> <代码> null >代码>时,您只需调用<代码> fCHILL(FIN)<代码>。完全不具备逻辑性,如果您真的想要编写C++,那么处理文件I/O的方法比这更好。将C++图书打开到文件I/O章节并继续阅读!祝你好运。

伙计。请C还是C++?哪一个?你选择用其中一种语言编程?你最后选了哪一个?(<代码>删除<代码>建议C++,是吗?为什么要标记C?),你的问题是?<代码> char b(1);<除了
'\0'
字符串终止符外,code>无法保存任何字符串。但是
fgets()
保留了
'\n'
新行,因此这是一个“一夸脱放进一品脱罐”的例子。它不离开
intx=atoi(b)需要处理的内容很多。
#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();
}