c++ - 我的程序总是停止工作 :S (C++)

标签 c++ io fstream

我编写了一个从文件中获取数据的程序,它可以工作,但随后程序说它停止工作了。 这是我的代码:

#include <stdio.h>
#include <windows.h>
#include <iostream>
using namespace std;
string show()
{
    FILE *in;
    char c;
    in = fopen("version.txt", "r");
    if(in != NULL)
    {
        while((c = fgetc(in)) != EOF) 
        {
            putchar(c); 
        }
        fclose(in);
    }
    else printf("Unable to open file\n");
}


int main()
{
    show();
}

最佳答案

您的函数被声明为返回一个字符串,但没有返回语句。 这是 C++ 中的“未定义行为”(仅在 main 中您可以省略 return 语句,在这种情况下,C++ 将自动假定 return 0; - 但 IMO最好也总是写它)。

关于c++ - 我的程序总是停止工作 :S (C++),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7467102/

相关文章:

c++ - 如果派生类还具有基类中不存在的虚函数,则创建的 vptr 数

c++ - 无法在 MinGW 中包含 header

对象数组的C++方法

c++ - 如何将字符串读入 vector

javascript - 使用 Yahoo YUI 3 进行 Google 地理编码 ajax 请求

c++ - fstream.read() 根本不读取任何内容

c++ - 从需要多个输入的 C++ 源代码运行程序

sql - Oracle:什么是单 block 与多 block IO

c++ - 未输入 If-block,不知道为什么

c++ - 从文件中读取返回一个我没想到的结果,试图理解为什么