imi
دوشنبه 03 تیر 1387, 19:32 عصر
به این کد نگاه کنید:
#include <iostream>
#include <fstream>
using namespace std;
void main()
{
fstream f;
char ch;
f.open("h:\\test.txt",ios::in|ios::out|ios::binary);
while(!f.eof())
{
f.get(ch);
cout << ch << endl;
}
}
چرا کاراکتر آخر فایل دو بار چاپ میشه؟ چه کار کنیم که فقط یه بار چاپ شه؟ یعنی چه کار کنیم که حلقه یه بار زیادی اجرا نشه؟ چرا یه بار حلقه ریاد اجرا میشه؟؟؟؟؟؟؟؟؟!!!!!!!!!!!!!!!!!!!!!!!! !!!!!
#include <iostream>
#include <fstream>
using namespace std;
void main()
{
fstream f;
char ch;
f.open("h:\\test.txt",ios::in|ios::out|ios::binary);
while(!f.eof())
{
f.get(ch);
cout << ch << endl;
}
}
چرا کاراکتر آخر فایل دو بار چاپ میشه؟ چه کار کنیم که فقط یه بار چاپ شه؟ یعنی چه کار کنیم که حلقه یه بار زیادی اجرا نشه؟ چرا یه بار حلقه ریاد اجرا میشه؟؟؟؟؟؟؟؟؟!!!!!!!!!!!!!!!!!!!!!!!! !!!!!