[問題] fstream檔案莫名開啟失敗

作者: xxxx5801   2015-08-01 15:56:17
最近在VS2012上作C++檔案讀取的練習, 語法方面沒有問題
但就是預期的結果跑不出來, 以下是程式碼:
#include"stdafx.h"
#include<iostream>
#include<fstream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
char chtem;
fstream io("d:\\123.txt", ios::in | ios::out);
if (!io){
cout << "File open failed!\n";
}
else{
cout << "File open successfully!\n";
while (io.get(chtem)){
cout << chtem;
}
}
io.close();
system("pause");
return 0;
}
輸出結果: File open failed!
作為測試的123.txt裡面就只有幾個英文字母而已
IDE也沒有任何錯誤訊息, 但io的值始終等於0
明明之前用C的fopen函數都OK, 但用C++來寫就有問題
有人跟我遇到同樣的問題嗎?
作者: s25g5d4 (function(){})()   2015-08-01 19:48:00
你需要 ios::trunc
作者: andy410061 (高坂桐乃は俺の嫁)   2015-08-02 11:38:00
樓上那樣不是會把檔案清空嗎
作者: scott260202 (Cake)   2015-08-02 16:59:00
...............
作者: Killercat (殺人貓™)   2015-08-02 17:51:00
這算fstream的致命問題,你其實很難搞懂為什麼失敗 XD有興趣的話順手查察strerror(errno)怎麼運作的他在fstream失敗的時候一樣會記錄下錯誤原因這遠比單純看io是不是nulptr來的好得多
作者: s25g5d4 (function(){})()   2015-08-04 13:21:00
我沒有仔細看內文 以為是要建立新檔案 Orz
作者: louisman (匈奴將領)   2015-08-09 04:06:00
.........

Links booklink

Contact Us: admin [ a t ] ucptt.com