C.char字符串的拼接和const char*的轉換


C里沒有String類型

要用char[]來代替String的職能

上代碼:

 1 #include <stdio.h>
 2 #include <string.h>
 3 
 4 int main(void)
 5 {
 6     const char *p1;
 7     char str1[] = "hello";
 8     char str2[] = " world";
 9     char newStr[50] = "";
10     strcat(newStr, "good,"); //直接把字符串添加到newStr
11     strcat(newStr, str1);    //str1添(追)加到newStr
12     strcat(newStr, str2);    //str2添(追)加到newStr
13     p1 = newStr;             //char可以直接賦值給const char*
14     printf("p1: %s\n", p1);
15     printf("p1.length(err): %d\n", sizeof(p1)); //這個獲取的長度並不是真實字符串長度
16     printf("p1.length: %d\n", getLength(p1));
17     printf("str1.length: %d \n", sizeof(str1)); //(含字符串尾部的結束符\0,所以長度要加1)
18     printf("str2.length: %d\n", sizeof(str2));
19     printf("newStr.length: %d \n", sizeof(newStr)); //(按實際定義的數組長度)
20

運行結果:

p1: good,hello world
p1.length(err): 8
p1.length: 16
str1.length: 6
str2.length: 7
newStr.length: 50

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM