作者: 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