在VC中可以运行的程序,在VS中不能运行,如何解决.

在VC里可以运行的程序,重新在VS里面开文件,运行出来系统匡但是输入后报错 File: minkernel/ crts/ ucrt/ src/ appcrt/stdio/input.cpp Line:32Expression: stream!= nullptr 是不是input.cpp的问题.

提示你代码32行出错,是你这个文件的代码

还有几个问题:

录入库存,退出后会报堆栈内存的问题,我怀疑就是你定义了结构体数组导致的,sp linshi[1];

使用时fprintf(fp, "%s %s %d %d %s %d\n", id, linshi[1].name, linshi[1].price1, linshi[1].price3, linshi[1].home, linshi[1].num3);

linshi[1],还有一个linshi[0]就没有被使用到。

 

另外,还有一些细节:

int issuper(char *name, char *password) //判断用户是否是管理员 是返回1 否返回0
{
    int n, i, flag = 0;
    n = ussum();
    for (i = 0; i < n; i++)
    {
        if (strcmp(name, us[i].name) == 0 && strcmp(password, us[i].password) == 0)
        {
            if (us[i].power == 1)        // 细节,当符合条件后,就没必要在执行for循环了
                flag = 1;
        }
    }
    if (flag)
        return 1;
    else
        return 0;
}

例如循环判断找到后,可以直接结束循环而无需再继续循环了。

 

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632