CodeBlocks "Can't read file's timestamp"
今天編程時遇到一個怪現象,CODEBLOCKS Can't read file's timestamp
。源程序很簡單:
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main()
{
// 1. 讀文件
// 2. 寫入新文件
ifstream infile;
//ofstream outfile("output");
// string filename("E:\\03_lang\\c51\\remove_comment\\input.txt");
string filename("input.txt");
infile.open( filename.c_str());
if( !infile.is_open() ){
cerr << "File open failed\n";
}
string s;
while( getline(infile,s) )
cout << s << endl;
infile.close();
return 0;
}
開始懷疑文件路徑不對,因此加了絕對路徑。但是C::B編譯仍然通不過。後來,懷疑程序錯誤,但是我卻可以用GCC編譯成功,因此方向轉向了C::B設置。
通過查看項目文件,發現裏面並沒有input.txt
,只有input
文件。那麼接下來就簡單了,將原來文件從項目中移除,再將input.txt
文件添加到項目中,編譯成功。也就是說,導致"Can't read file's timestamp"問題的關鍵並不是文件出現問題,而是項目中未添加文件。
注:爲何會出現兩個文件?這是由於自己後面直接通過文件管理修改了後綴。
很高興,通過自己的分析一步一步地驗證,最後解決問題。希望對大家有幫助。