資料型別 string與char 的轉換方法

2022-10-11 04:06:11 字數 988 閱讀 4241

在 【資料結構】棧與佇列part2:棧的應用之表示式轉換 中,儲存表示式的資料型別是string型別,而atof()函式是將char型別轉化為浮點數的函式。

因此,將string轉化為char的方法是非常重要的。

查閱資料:c++ string轉char*

1 #include2 #include3 #include4 #include5 #include6 #include7 #include8

9using

namespace

std;

1011

intmain()

1.c_str()返回的是乙個臨時指標,不能對其進行操作。

我的理解是,這個函式只能用來給出乙個臨時的char*指標,將string轉化為char*,適用於下面這種情況:

string str="

12.4";

cout

《這裡不需要長期的保持這個指標,因此建立了乙個臨時指標,指向string str。

因此在使用的時候,下面這種方法是錯誤的:

char*c;

string s="

1234";

c = s.c_str();

這種寫法,在呼叫完c_str()函式後,這個臨時指標會被銷毀,則c所指向的指標是乙個被銷毀的垃圾資料。

因此應該建立乙個char型別,將臨時指標中的內容儲存到固定的指標後。

2.還有兩種宣告轉換方法:

string str = "

hello";

const

char* p = str.data();

string str=「world」;

const

char *p = str.c_str();

這裡由於用到的是const宣告方法,所以並不適用於我需要的靈活的應用場景,所以最後還是採用了strcpy()的形式儲存str中的內容到char中。

char與int資料型別轉換

char 資料型別 和 character 物件封裝的值 基於原始的 unicode 規範,將字元定義為固定寬度的 16 位實體。unicode 標準曾做過修改,以允許那些其表示形式需要超過 16 位的字元。合法 點 的範圍現在是從 u 0000 到 u 10ffff,即通常所說的 unicode ...

資料型別 string

單引號建立字串 str0 php xust echo str0 echo 單引號中的單引號需要轉義 雙引號建立字串與單引號不同 可以解釋變數 str1 php echo str1 echo str3 php echo str3 echo 用heredoc 語法來建立字串 適用於大量字串的情況 優化的...

MySQL資料型別之char與varchar

測試環境 mysql 5.7.17 各位dba同事及開發童鞋,相信你們看了這篇文章,會徹底明白char與varchar應該如何去選擇使用。首先講解一下char與varchar。char n n的最大值為255 varchar n n的理論最大值65535,其實也就最多65532 這裡需要注意,在my...