2015-12-28 45 views
-2

我是一名編程初學者,我試圖編寫一個從文件中讀取2個數字的代碼,然後 將它顯示在turbo C++的輸出窗口中。我的代碼只讀取第一個數字,併爲第二個數字生成不正確的輸出 。如何從Turbo C++ 4.0中的文件中讀取數據?

#include<iostream.h> 
#include<fstream.h> 
#include<conio.h> 

void main() 
{ 
    int x, y; 
    clrscr(); 
    ifstream inFile; 
    ofstream outFile; 
    inFile.open("prac.txt"); 

    while(!inFile.eof()) 
    inFile >> x >> y; 
    cout << x << " " << y; 

    inFile.close(); 

} 

該文件包含的數字:23

輸出:當作爲函數調用20

輸出:2-28903如果我把它作爲一個功能,這是非常不同的比較時,其主要是這是我應該做的 我只是用它來看看會發生什麼。

對不起,但我們的老師希望我們學習Turbo C++,所以我沒有 真的有編譯器的選擇。

+1

不使用Turbo C++,它不是C++編譯器,因爲它比第一個C +標準早數十年。你可以在上面的代碼中看到許多非標準的東西:'std'命名空間,'void main(),'iostream.h' ... –

+0

另外,不要發佈兩次相同的問題。 – MSalters

回答

1

std::cout應該是while循環中:

while(!inFile.eof()){ 
    inFile >> x >> y; 
    cout << x << " " << y; 
} 
+0

我仍然得到錯誤的輸出它讀取2 0而不是2 3 – Euphemia

+0

文件內部是什麼?你確定有2到3之間的空間嗎? –

+0

只有數字是:2 3。是的,我敢肯定。我也嘗試將3放在下一行,但仍然得到2 0作爲輸出。 – Euphemia

0

嘗試使用INFILE >> X >> Y while循環條件中這樣

while(infile>>x>>y) 

然後用在了COUT聲明循環。