我試圖打開C++中的文件,但它似乎讓我有點麻煩,這裏是與打開該文件至今交易代碼:讀取文件 - 無法打開
void CreateHistogram(string str_file, vector<HistogramWord> &result) {
string line;
long location;
HistogramWord newWord;
const char * filename = str_file.c_str();
//ifstream myfile (str_file.c_str());
ifstream myfile (filename);
//myfile.open(filename);
if (myfile.is_open()) {
while (myfile.good()) {
getline(myfile, line);
line = clarifyWord(line);
好的,僅僅爲了一點解釋,HistogramWord是一個在頭文件中定義的結構,根據我在在線文檔中讀到的內容,文件名必須是const char *
,這就是我所做的。將str_file
轉換爲const char *
。
現在,我嘗試了一些不同的東西,這就是爲什麼一些代碼被註釋掉了。當它到達if (myfile.is_open())
行時,它總是評估爲false。任何人似乎都知道爲什麼?
感謝, 布蘭登
該文件確實存在嗎? – quasiverse
是的,它確實存在,並且與主函數位於同一目錄中,所以我應該能夠將其稱爲「test.txt」,正確嗎? – Brandon
我也用'myfile.open(filename)試了一下''註釋掉了,但它仍然不想工作:/ – Brandon