我在創建ifstream
時遇到了問題,該文件在編譯時未定義。下面的示例正常工作:用用戶生成的文件名創建ifstream?
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main() {
string file, word;
int count = 0;
cout << "Enter filename: ";
cin >> file;
ifstream in("thisFile.cpp");
while(in >> word)
count++;
cout << "That file has " << count << " whitespace delimited words." << endl;
}
但如果我改線ifstream in("thisFile.cpp");
到ifstream in(file);
我得到一個編譯錯誤。爲什麼是這樣?
感謝所有快速反應。 c_str()做到了。我想我會選擇詹姆斯的答案,因爲它有最多的細節。 編輯:我猜詹姆斯認爲他已經有足夠的代表並刪除了他的答案。 – WhiteHotLoveTiger 2012-07-05 21:06:19