چرا این شرط تست فایل همیشه یه مقدار برمیگردونه .
[PHP]gets(s);
ofstream f(s);
if (!f)
exit(0);[/PHP]
یعنی انگار همیشه فایل وجود داره
Printable View
چرا این شرط تست فایل همیشه یه مقدار برمیگردونه .
[PHP]gets(s);
ofstream f(s);
if (!f)
exit(0);[/PHP]
یعنی انگار همیشه فایل وجود داره
اگه همچین فایلی نباشه، با این دستور فایل درست میشه!
اون چیزی که شما نوشتید همیشه true هست چون درسته که ممکنه فایل بصورت فیزیکی وجود نداشته باشه ولی بصورت مجازی حتما وجود داره چونکه تعریفش کردید!!
مثل این می مونه که همچین چیزی بنویسید (توجه دارید که ofstream خودش یک کلاس هست پس در واقع دارید یک شی از یک کلاس تعریف می کنید)
برای برنامتون از این شرطکد:int y=2;
if(!y)
cout<<"Error2"<<endl;
و یا شرط پایین می تونید استفاده کنیدکد:if(x.fail())
اینم یه کد سادهکد:if(!x.good())
کد:int main()
{
ofstream x("c:\\text.txt",ios::in);
if(!x.good())
cout<<"Error"<<endl;
return 0;
};
درسته !
ولی میشه بگید فرق دو ادرس زیر چیه ؟
کد:
"e:/note.dat"
"e://note.dat"
برای اینکه علامت \ جزو حروف خاص هست برای نشون دادنش(و در اینجا استفاده کردن) توی C++ باید از یه \ اضافه استفاده کنیدنقل قول:
مثلا علامت " هم جزو همین حروف هست که اگه بخواید به خروجی ببرینش باید این کد و بنویسید
cout<<"This sign \" is a special character in c++"<<endl