我一直在搜索互聯網一段時間,但是我可以在C++中找到的文件輸入是當你知道文件名。C++中的文件輸入
我正試圖編寫一個程序來執行一個文件,但不使用scanf或cin的2大於0的數字的添加。我想將文件加載到內存中,但是我可以找到的關於這種情況的所有代碼都需要知道文件名。該文件在單行上用2個整數格式化,由空格分隔,並且有多行整數。該程序將輸出這兩個數字的總和。我可以很容易地用scanf做到這一點,但如果我得到一個大文件,我想將它加載到內存中(稍後保存映射)。
將文件加載到內存中給我帶來麻煩,因爲我不知道文件名,也不知道如何查找,除非用戶輸入文件名(不會發生)。我要像這樣執行的程序,但使用C++ IO的最原始和基本形式:
./myprog < boatloadofnumbers
我將如何開始我的計劃取整「boatloadofnumbers」爲一檔,這樣我就可以使用更多的基本功能,如read()? (也,所謂上述方法?通過輸入?)
int main(){
int a,b;
while (scanf("%i,%i",&a,&b)>-1){
printf("%i\n",(a+b));
} //endwhile
return 0;
} //endmain
'我可以找到的所有文件輸入在C++是當你知道文件名.'大聲笑。如果您試圖從文件中讀取數據,而您不知道文件名稱是什麼,那麼您完全是SOL。明顯。 – 2012-02-11 21:48:46
您正在從標準輸入讀取數據,而不是從任何文件讀取數據。 shell正在爲你重定向。 – 2012-02-11 21:54:52
@KerrekSB我明白了..是否有另一種閱讀數據的方式?我想我可以做一些文件操作,如果一個文件被給出,但我看到情況不再是這樣了。我一直在嘗試使用比scanf更基本的輸入方法,或者能夠以更大的比例讀取數據,而不是按數字編號。你認爲你可以指出我正確的方向嗎? – 2012-02-11 22:05:06