printf輸出string型別資料

2021-06-23 01:51:53 字數 370 閱讀 8212

一開始以為printf("%s","string"),沒問題,那麼

string aa="string",

printf(%s,aa)順理成章,左試右試才知道原來printf只能輸出c語言內建的資料,而string不是內建的,只是乙個擴充套件的類,這樣肯定是鏈結錯誤的。sting不等於char*,&a代表的是這個字串的儲存位址,並不是指向字串的首位址,aa 

物件中包含乙個指向"string"的指標, &aar得到的是這個物件的位址,不是"string"的位址。

printf輸出string型別應如此操作!

#include

#include

using namespace std;

void main()

printf不能直接輸出string型別

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

printf輸出string字串

出處 printf輸出字串是針對char 的,換言之,printf只能輸出c語言中的內建資料,string不是c語言內建資料,否則會出現亂碼。s這個string型別的物件並非單單只有字串,其內還有許多用於操作的函式,於是 s並非字串 中國 的首位址,而是s這個物件的首位址。所以要做如下操作 stri...

使用printf輸出

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