gpt4 book ai didi

c++ - g++ ifstream 的类型不完整,存在正确的头文件

转载 作者:太空宇宙 更新时间:2023-11-04 16:30:15 24 4
gpt4 key购买 nike

早上好

我正在尝试使用用 g++ (g++ (Ubuntu 4.4.3-4ubuntu5) 4.4.3) 编译的 C++ 读取文件。 Tis 在 MSVC 2008 下编译运行

这里是我的代码:

   #include <iostream>
#include <fstream>

int main(int argc, char* argv[])
{
const char filename[] ("~/Serial.Number")

std::ifstream afile ( fileName );
if ( afile.is_open() )
{
// read input
afile.close();
}
}

我读过的所有内容都表明这足以使输入文件正常工作。当我写它(重复尝试)时,Eclipse 光标悬停在“编译器”上说“afile”是一个 ifstream。然而在我编译它之后再次将鼠标悬停在“afile”上我得到“不完整的类型...”。

奇怪的是,当我运行程序( Debug模式)时它运行,没有错误,没有抛出异常,但文件从未打开并且 .is_open() 为 false。

有什么想法吗?

韦斯

最佳答案

您的 Linux 系统上很可能没有名为 ~\Serial.Number 的文件。它并不意味着您可能想要的(您的主目录下名为 Serial.Number 的文件)。

Linux 上的文件路径 ~\Serial.Number 传递给 open 系统调用或 C++ 文件流时,意味着文件名以波浪号 ~ 后跟一个反斜杠 \ 这不太可能(即使原则上可能)存在。

您可能想使用 getenv("HOME") 检索主目录并将其连接到 "/Serial.Number" 字符串(以普通斜杠开头不是反斜杠)。

问候。

关于c++ - g++ ifstream 的类型不完整,存在正确的头文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7889477/

24 4 0
文章推荐: html - 为什么在 IE 中文本框不调整到整个 div? Chrome 很好
文章推荐: html - 默认 HTML 页面?
文章推荐: javascript - 在与
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com