嗨我工作的應用程序,我想創建一個函數,讀取文件 前。如何創建讀取多個文件的函數?
readFiles()
{
f1, f2=NULL, f3=NULL;
}
但我很難獲取多個文件加載。我想創建一個函數來讀入文件並將它們設置爲一個指定的變量,以用於我的程序中的其他函數。任何幫助或想法都會很棒。再次感謝! PS。這不是一項家庭作業。
嗨我工作的應用程序,我想創建一個函數,讀取文件 前。如何創建讀取多個文件的函數?
readFiles()
{
f1, f2=NULL, f3=NULL;
}
但我很難獲取多個文件加載。我想創建一個函數來讀入文件並將它們設置爲一個指定的變量,以用於我的程序中的其他函數。任何幫助或想法都會很棒。再次感謝! PS。這不是一項家庭作業。
我個人寫一個函數開始,可以讀取ONE文件。該函數從另一個知道需要讀取文件的函數中起作用。
例如,假設該文件不enormouse(千兆字節大),你可以做一個函數讀取文件合併成一個字符串:
std::string readfile(std::string name)
{
ifstream f(name.c_str());
std::stream tmp;
std::stream res;
while(getline(f, tmp)
{
res += tmp;
}
return res;
}
void somefunc()
{
std::string file1 = readfile("file1.txt");
std::string file2 = readfile("file2.txt");
}
當然,如果文件的列表整數,您可能想要將數據讀取到整數向量中。如果內容更復雜,則讀入矢量或結構體或類也是可行的。但基本原則適用[當然,假定幾個文件具有相同的一般類型的內容]。
感謝您的幫助,這使得完整的意義,我會研究這種閱讀文件的方式。再次感謝! – Cka91405
你看過ifstream
嗎?看看這裏:http://www.cplusplus.com/reference/fstream/ifstream/ifstream/
你是否將流傳遞給函數或實際文件名?您需要爲多個文件創建多個流,除非您想一次處理一個文件。你將不得不這樣做:
ifstream nameOfStream ("Name of File");
創建流。你甚至不需要在功能上做到這一點。如果你把所有的文件名,你可以這樣做:
ifstream stream1(file1);
ifstream stream2(file2);
ifstream stream3(file3);
編輯:如果你想用一個流來做到這一點:
ifstream stream1(file1);
//Do something with stream
stream1.close();
stream1.open(file2);
你知道如何閱讀** one **文件嗎? –
是的,我確實知道如何閱讀一個文件。 – Cka91405
那麼重複使用代碼來讀取多個文件有什麼問題?什麼是閱讀多個文件的「困難時期」?你有什麼嘗試? –