※ [本文轉錄自 ric2k1 信箱]
標題: 想請問關於ifstream open file的問題...
時間: Mon Dec 21 23:56:52 2009
在作業六裡面,readCir傳入的參數是string&
但是ifstream 的open function的傳入參數是char*
我稍微試了一下,發現 char* c = "blahblah"; string s = c; 這樣寫是可以的
但是相反過來就不行?? string s ="blahblah"; char* c = s; (compile error!!)
所以我在測試的時候readCir都傳char*進去...
可是又發生其他問題,當我寫 char* fileName = "C17.cir"; 傳進readCir沒有問題
但當我寫 char* fileName; cin >> fileName; 再傳進去就有問題了
程式會在測試用的main裡面所有東西執行完之後最後發生"記憶體區段錯誤"的訊息
ddd的錯誤訊息是segmentation fault,然後是停在 #include<string.h>前面...
不明白...這到底是為什麼呢??
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.224.46.80
※ 編輯: ric2k1 來自: 61.224.46.80 (12/22 02:00)
1F:推 kiokio:string s ="blahblah"; const char* c = s.c_str(); 12/22 14:20