我試圖使用C++使用g ++編譯(克++(Ubuntu的4.4.3-4ubuntu5)4.4.3),以讀取文件。提斯編譯和2008 MSVC下工作
這裏大部分修剪是我的代碼:
#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」上徘徊,我得到「不完整類型...」。
更奇怪的是,當我運行程序(調試模式)它運行,沒有錯誤,沒有拋出異常,但文件從不打開,.is_open()爲false。
任何想法?
韋斯
我懷疑你不能在名稱中使用「〜」。 AFAIK,「〜」字符只在命令行上通過shell擴展。 – wilx
糟糕,我打錯了。這真的是一個正斜槓。 而且,是的,〜是我真正的問題。從來不知道一個不存在的文件會將自己展現爲不完整的類型。很有意思。 謝謝,Wes –