2014-10-12 39 views
0

我想從我的程序中簡單地打開一個文本文件。但我有幾個奇怪的問題。在C++ windows 8.1和msvc 2013中打開文本文件

對於一個轉義序列不逸出...

爲const char * 「d:\\入資產\ thing.txt」= d:\\入資產\ thing.txt 和

常量字符*「D:\\ Assest \ thing.txt」= D:Assest \\ thing.txt 但

爲什麼做兩個SLASHES只會給我一個這個論壇上的一個SLASH,這看起來真的沒有必要!

const char *「D:\ assest \ thing.txt」= D:\ assest \ thing.txt正確的路徑,我可以將它從調試器中複製到文件瀏覽器中,然後文件彈出,但std :: ifstream(filePath)和std :: ifstream :: open(filePath);失敗。以及fopen_s。

我甚至試圖使用ascii代碼連接字符串for /但放棄後,我分配了我所有的內存只有發現strcat折舊,顯然微軟試圖貶值C.我猜,在所有成功的Windows 8後,他們他們應該讓它騎。

我最初使用字符串,但在上述相同的問題後開始使用char數組。

我嘗試了其他文本文件,甚至將文件放到項目目錄中的每個文件夾中(儘管這樣做對我來說並不好,但我想我必須嘗試)。

沒有文件不會打開任何我能想象的情況。我作爲管理員運行編譯器,嘗試讀取不同的文件。重新啓動計算機,摩擦一盞神奇的燈。我出來的想法

有沒有一招我錯過了,我的環境可以責怪?

代碼

std::string path = "C:\assest\rock.txt"; 
obj.readOBJ(path); 

void objImporter::readOBJ(std::string filePath) 
{ 
std::ifstream OBJfile(filePath); 
//OBJfile.open(filePath.c_str()); 

if (OBJfile.is_open()) 
{ 

胡說,胡說,胡說

OBJfile.close(); 

沒有人有任何見解可言?

感謝

湯姆

回答

2

好像轉義序列工作。 \a是嘟嘟字符,\r是回車。你應該逃避你的反斜槓(\\)像這樣:

string path = "c:\\assets\\rock.txt"; 
+0

謝謝大家的迴應,這個問題已經被更新,由於我的初始後具有諷刺意味的問題\\\的... – 2014-10-13 13:44:10

相關問題