c++ - 无法获取返回值

标签 c++

我正在使用此函数从记事本文件中读取数据并将数据填充到 char str[255] 中,但在执行该函数后 str 仍然为空。

char str[255];

char* data_pull()
{
    std::ifstream in("C:/myfile.txt");
    if(!in){
        printf("\nCannot open the file");
       exit (1);
    }

    while(in){
        in.getline(str, 255);  
       printf(str);
    }

    in.close();
    return str;
}

最佳答案

使用in.getline(str, 255);,您会不断覆盖输入文件中的每一行str:换句话说,每一行都会覆盖前一行存储在str中。

如果文件以空行结尾,则 str 将在循环末尾存储一个空字符串。

关于c++ - 无法获取返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13561348/

相关文章:

c++ - 为什么带有括号 () 的数组初始化被编译器标记为错误?

c++ - 编译C++程序导致 "Fatal Error LNK1104"

c++ - 哪个熵更高?

c++ - 如何找到最近的下一个/上一个 double 值(numeric_limits::epsilon 对于给定的数字)

c++ - Boost 的带有类成员函数的 Interpreter.hpp 示例

c++ - std::is_base_of 和 if 错误

c++ - 外部 "C"内部命名空间

使用 SDL2 和 SDL_image 加载 C++ 图像

C++ 直接从 operator<< 返回

c++ - 从文件中读取整数数据