[問題] fopen() & fwrite() 問題

看板C_and_CPP作者 (經濟不景氣,好景不常在)時間12年前 (2012/10/12 14:53), 編輯推噓1(106)
留言7則, 5人參與, 最新討論串1/6 (看更多)
1.fopen的問題 如果我新增的檔案名稱是一個變數(可能是日期或是身分證字號), 因為會隨著每一天增加一個檔案,如果我用以下的方式寫則會出現Error.. 請問fopen要如何使用在動態的檔案名稱上呢?? string strdate="20121012"; FILE* fw=fopen("..\\Temp\\"+strdate,"wb"); 2.fwrite的問題 目前有個字串,假設為 string hextemp="1F 08 08 0A 3A 5C 2E 6F 05" 如果我要以16進制存成.JPG檔,那麼我需要去處理字串中間的空格嗎?? 還是只需要把字串直接用fwrite寫成檔案就可以了呢?? 目前一直卡在這邊,腦袋一直轉不過來... 我想到的是,先把以上字串存入字元陣列,再用strtok去除中間空格.. 然後再把每一個16進位寫到另一個陣列中 char temp[]={1F,08,08,0A,3A,5C,2E,6F,05} fwrite(temp, sizeof(temp), 1, fw) 然後再寫入檔案,不曉得是不是我搞錯方向了?其實不用那麼麻煩? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.47.193.82

10/12 22:54, , 1F
型態不對, fopen要const char*, 你給他string
10/12 22:54, 1F

10/12 23:17, , 2F
我看你用string應該是c++,可以直接用fstream
10/12 23:17, 2F

10/12 23:18, , 3F

10/12 23:45, , 4F
十六進位 temp[] = { 0x1F, 0x08, ...
10/12 23:45, 4F

10/13 02:02, , 5F
fopen 是 c 的,可以用 sprintf 做出 c 的字串傳給他
10/13 02:02, 5F

10/13 03:23, , 6F

10/13 03:25, , 7F
可以用 istringstream 轉成 hex 模式來讀字串,輸出 int
10/13 03:25, 7F
文章代碼(AID): #1GU2y6A_ (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #1GU2y6A_ (C_and_CPP)