Board logo

標題: 字串處理 (一) [打印本頁]

作者: 鄭繼威    時間: 2023-5-6 12:09     標題: 字串處理 (一)

我們在宣告字元陣列的時候要注意它的長度,以免位數不夠造成程式錯誤。事實上,每個字串後面都有一個 '\0' 的字元,例如 "tw" 字串,事實上總共用了 3 Bytes,若為中文字,則每個字要佔兩個字元

例如:
char str[3]="tw";
char str[9]="字串處理"

補充:‘\0’ 是 c/c++ 語言中的字符串結束符,在ASCII字符集中對應空字符NULL

試分別利用宣告字串與宣告字元陣列的方式, 在銀幕上顯示 "Good morning!" 字樣.
  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main()
  5. {
  6.     string str1="Good morning!";
  7.     char str2[14]="Good morning!";
  8.     cout<<str1<<endl;
  9.     cout<<str2<<endl;
  10.     cout<<str1[0]<<endl;
  11.     cout<<str2[0]<<endl;
  12.     system("pause");
  13.     return 0;   
  14. }
複製代碼

作者: 陳宥霖    時間: 2023-5-6 14:41

  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main()
  5. {
  6.     string str1="Good night!";
  7.     char str2[12]="Good night!";
  8.     cout<<str1<<endl;
  9.     cout<<str2<<endl;
  10.     cout<<str1[3]<<endl;
  11.     cout<<str2[0]<<endl;
  12.     system("pause");
  13.     return 0;   
  14. }
複製代碼

作者: 陳泓亦    時間: 2023-5-6 14:50

  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main()
  5. {
  6.     string str1="Good morning!";
  7.     char str2[14]="Good morning!";
  8.     cout<<str1<<endl;
  9.     cout<<str2<<endl;
  10.     cout<<str1[0]<<endl;
  11.     cout<<str2[0]<<endl;
  12.     system("pause");
  13.     return 0;   
  14. }
複製代碼

作者: 吳俊頡    時間: 2023-5-6 14:50

  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main()
  5. {
  6.         string str1="Good morning!";
  7.     char str2[14]="Good morning!";
  8.     cout<<str1<<endl;
  9.     cout<<str2<<endl;
  10.     cout<<str1[0]<<endl;
  11.     cout<<str2[0]<<endl;
  12.         system("pause");
  13.         return 0;
  14. }
複製代碼

作者: 陳牧謙    時間: 2023-5-6 14:51

  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main()
  5. {
  6.      string str1="Good morning!";
  7.      char str2[14]="Good morning!";
  8.      cout<<str1<<endl;
  9.      cout<<str2<<endl;
  10.      cout<<str1[3]<<endl;
  11.      cout<<str2[10]<<endl;
  12.     system("pause");
  13.     return 0;  
  14. }
複製代碼

作者: 林雋喆    時間: 2023-5-6 14:51

  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main()
  5. {
  6.     string str1="Good morning!";
  7.     char str2[14]="Good morning!";
  8.     cout<<str1<<endl;
  9.     cout<<str2<<endl;
  10.     cout<<str1[0]<<endl;
  11.     cout<<str2[0]<<endl;
  12.     system("pause");
  13.     return 0;   
  14. }
複製代碼

作者: 徐啟祐    時間: 2023-5-6 14:54

  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main()
  5. {
  6.     string str1="Good moring.";
  7.     char str2[]="Good moring徭";
  8.     cout<<str1<<endl;
  9.     cout<<str2<<endl;
  10.     cout<<str1[0]<<endl;
  11.     cout<<str2[15]<<endl;
  12.     system("pause");
  13.     return 0;   
  14. }
複製代碼

作者: 鄭繼威    時間: 2023-5-6 14:55

6
作者: 宜儒    時間: 2023-5-13 00:13

  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main()
  5. {
  6.         string str1="Good morning!";
  7.     char str2[14]="Good morning!";  //字元陣列char name[]
  8.     cout<<str1<<endl;
  9.     cout<<str2<<endl;
  10.     cout<<str1[0]<<endl;
  11.     cout<<str2[0]<<endl;
  12.     system("pause");
  13.     return 0;
  14.        
  15.         system("pause");
  16.         return 0;
  17. }
複製代碼

作者: 翁川祐    時間: 2023-5-13 09:33

  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main()
  5. {
  6.     string str1="Good morning!";
  7.     char str2[14]="Good morning!";
  8.     cout<<str1<<endl;
  9.     cout<<str2<<endl;
  10.     cout<<str1[0]<<endl;
  11.     cout<<str2[0]<<endl;
  12.     system("pause");
  13.     return 0;   
  14. }
複製代碼

作者: 楊芊琦    時間: 2023-6-1 07:26

  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;

  4. int main()
  5. {
  6.         string word1 = "Good morning!";
  7.         char word2[14] = "Good morning!";
  8.         for (int i = 0;i <= 13;i++)
  9.         {
  10.                 cout << word1[i];
  11.         }
  12.         cout << endl;
  13.         for (int i = 0;i <= 13;i++)
  14.         {
  15.                 cout << word2[i];
  16.         }
  17.         cout << endl;
  18.         system("pause");
  19.         return 0;
  20. }
複製代碼





歡迎光臨 種子論壇 | 高雄市資訊培育協會學員討論區 (http://istak.org.tw/seed/) Powered by Discuz! 7.2