printf輸出string字串

2022-05-30 01:06:11 字數 313 閱讀 3166

出處:      

printf輸出字串是針對char *的,換言之,printf只能輸出c語言中的內建資料,string不是c語言內建資料,否則會出現亂碼。

s這個string型別的物件並非單單只有字串,其內還有許多用於操作的函式,於是&s並非字串「中國」的首位址,而是s這個物件的首位址。

所以要做如下操作:

string s = "中國";

printf("%s" , s.c_str());//string中c_str()成員方法返回當前字串的首字元位址

或cout<

printf輸出string型別資料

一開始以為printf s string 沒問題,那麼 string aa string printf s,aa 順理成章,左試右試才知道原來printf只能輸出c語言內建的資料,而string不是內建的,只是乙個擴充套件的類,這樣肯定是鏈結錯誤的。sting不等於char a代表的是這個字串的儲存...

printf不能直接輸出string型別

近期研究設計模式,在程式輸出時心血來潮用了c版本的printf,結果就蛋疼了,一直輸出是亂碼,string s 中國 printf s s 輸出亂碼 果斷切換成c 版本的cout發現可以正常輸出。於是上網找答案,居然驚訝的發現printf輸出字串是針對char 的,換言之,printf只能輸出c語言...

使用printf輸出

echo命令的不同版本導致了unix系列機移植性最為頭痛的事情,在posix第一輪標準化時,委員會委員就如何標準化echo沒有達成一致意見,所以他們想出了乙個妥協的方案。echo是posix 標準的一部分,但是標準並不詳盡的指明echo的第乙個引數的具體行為。printf命令能夠像echo命令一樣輸...