[問題] 將string由fprintf印出

看板C_and_CPP (C/C++)作者 (是黑是白)時間14年前 (2012/01/13 13:12), 編輯推噓0(008)
留言8則, 4人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) devC 問題(Question): 想要將string由fprintf印出 但似乎不可行(?) 如果還是想要用fprintf印出 有其他辦法可行嗎 錯誤結果(Wrong Output): [Warning] cannot pass objects of non-POD type `struct std::string' through ` ...'; call will abort at runtime 程式碼(Code):(請善用置底文網頁, 記得排版) #include <iostream> #include <string> using namespace std; int main() { FILE* file = fopen("output.txt","w"); string str = "stri"; fprintf(file,"%s",str); //system("pause"); return 0; } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.116.243.66

01/13 13:17, , 1F
str.c_str()
01/13 13:17, 1F

01/13 14:34, , 2F
感謝shadow0326大!! 秒殺XD
01/13 14:34, 2F

01/13 14:36, , 3F
噢不~ "std::string to c-style string" 下去搜就有啦
01/13 14:36, 3F

01/13 14:37, , 4F
除非你不知道 xprintf 是在印什麼東西, 很多問題網路
01/13 14:37, 4F

01/13 14:37, , 5F
上或書本就有的就別發文問了...
01/13 14:37, 5F

01/13 15:21, , 6F
根據fprintf的規格,它只接受由"字元陣列"形成的字串,…
01/13 15:21, 6F

01/13 15:22, , 7F
你用的string是C++ STL string類別,兩者是不同的資料型態
01/13 15:22, 7F

01/13 15:24, , 8F
這就像是你把110v電風扇插頭插到220v插座一樣,會出錯。
01/13 15:24, 8F
文章代碼(AID): #1F3xrJc5 (C_and_CPP)
文章代碼(AID): #1F3xrJc5 (C_and_CPP)