作者: UUW (這次不會再賣掉XD) 看板: FCU_MOTOR
標題: Re: [問題]資工系的快來!!!
時間: Fri Jun 15 23:00:39 2007
我以前是用MFC寫的 所以沒辦法幫你驗證
不過我剛剛看了一下MSDN
有兩點要提出
http://msdn2.microsoft.com/en-us/library/aa984818(VS.71).aspx
ios::nocreate 是屬於舊的iostream library
http://msdn2.microsoft.com/en-us/library/5kb732k7(VS.71).aspx
open裡面的參數 沒有ios::noreplace 這項 所以不確定可不可使用
我以前用的方法 open會回傳一個值 若值為零 證明檔案開不成功
我相信你這裡也是用這樣的方式 借由此法驗證檔案是否存在即可.
通常應會有參數再加入 如果檔案已存在 是重複寫入或接下去寫?
很靠杯的是 MSDN連起來超慢 我本來想找範例給你 可是火大關掉了
你可以先找一些範例 或用信件跟我討論看看^^
等網路好一點 再幫你看看
※ 引述《PhoenixChu (逢甲機研-邱小鳳)》之銘言:
> 使用軟體 Dev C++
> 我要寫一個檔案輸出程式,可以新增一個檔案,然後將資料寫入。
> 其程式碼於文末
> 編譯後,出現錯誤訊息...`noreplace' is not a member of `std::ios'
> 如果不加 ios::noreplace 則可順利編譯執行
> 但這樣就沒有判斷檔案是否已存在的功能,請問怎解???
> ////////////////////////////////////////////////////////////////////////
> #include<iostream>
> #include<fstream>
> using namespace std;
> main()
> {
> ofstream output;
> char filename[128];
> char str[128];
> cout<<"create filename : ";
> cin>>filename;
> output.open(filename,ios::noreplace);
> //^^^^^^^^^^^^^^如果檔案已存在,則會有錯誤訊息//
> if(!output)
> {
> cout<<filename<<" failed"<<endl;
> system("pause");
> exit(0);
> }
> cout<<"input a stream to file : ";
> cin>>str;
> output<<str;
> output.close();
> system("pause");
> }
> /////*************不會也要出來說一下,不要裝死當作沒看見***************//////
--
╭┼ Origin: 玩車人的天地 ˙東吳機研站 scumotor.com.tw
┼╯ Author: UUW 從 125-224-23-70.dynamic.hinet.net 發表
╰╮ Modify: 07/06/15 23:23:37
→ rtyrty 推:他的程式是檔案名稱重複直接就離開 07/06/16