c/c++字符串輸入輸出總結(jié)

空格的ASCII碼是32;
\0的ASCII碼是0; '\0'的意思是ASCII 為0 的字符。 它所的意義是“字符串結(jié)束符”。 比如,一個字符串"Hello" ,它是由字符'H','e','l','l','o','\0' 6 個字符在內(nèi)存中連續(xù)存放的。

c語言字符串輸入:

gets函數(shù)使用方法:
gets(字符數(shù)組名);
gets函數(shù)說明
gets()函數(shù)通過判斷遇到的第一個換行符(\n)結(jié)束輸入,字符串沒有預定的長度。它讀取換行符之前(不包括換行符)的所有字符包括空格,并在這些字符后添加一個空字符(\0)。
gets()函數(shù)不會檢查存儲區(qū)是否能夠容納實際輸入的數(shù)據(jù),多出來的字符簡單地溢出到相鄰的內(nèi)存區(qū)所以定義函數(shù)時要注意開夠內(nèi)存

scanf()函數(shù)使用方法:
char s[20];
scanf("%s",s);
scanf()函數(shù)說明:
scanf()函數(shù)可以使用%s格式來讀入一個字符串,遇到比如空格、制表符或換行符就停止讀入。

字符串輸出:

puts函數(shù)使用方法:
puts(字符數(shù)組名);
puts函數(shù)說明:
可以輸出空格
可以自動換行

printf()函數(shù)使用方法:
char s[20];
scanf("%s",s);
printf("%s",s);
printf()函數(shù)說明:
不能輸出空格

記錄下c函數(shù)庫專門處理字符串的函數(shù):

頭文件:#include<string.h>

輸入輸出:
puts(str);
gets(str);

字符串連接函數(shù) :strcat(str1,str2);
printf("%s",strcat(字符數(shù)組str1,字符串str2));

字符串復制函數(shù):strcpy和strncpy
strcpy(str1,str2);//把字符串str2中復制到字符串數(shù)組str1中去;
注意:str1必須開的足夠大以便容納被復制的str2,str1的長度應大于str2的長度;str1必須寫成數(shù)組名形式,str2可以是字符數(shù)組名,也可以是字符串常量,如"China".
strncpy(str1,str2,n);//將str2中最前面兩個字符復制到str1中從而取代str1中前兩個字符.n應小于等于str1中原有字符個數(shù)(不包括 '\0' ).

字符串比較函數(shù):strcmp函數(shù)
形式:strcmp(str1,str2);
規(guī)則:按ASCII碼大小將兩個字符自左至右逐個字符字符比較,直到出現(xiàn)不同的字符或遇到 '\0' 為止.
(1)如果全部字符相同,則兩個字符串相等,函數(shù)值為0;
(2)若出現(xiàn)第一對不相同的字符,且str1>str2,則函數(shù)值為一個正整數(shù);若str1<str2,則函數(shù)值為一個負整數(shù).

測字符串長度函數(shù):strlen
形式:strlen(str);
說明:該函數(shù)值為字符串的實際長度(不包括 '\0' 在內(nèi))

轉(zhuǎn)換函數(shù):
strlwr(str); //將字符串大寫字母轉(zhuǎn)換為小寫字母
strupr(str); //將字符串小寫字母轉(zhuǎn)換為大寫字母

c++輸入輸出:
格式1:
#include<string>//C++標準庫提供了專有的字符串類型string
string s;char s[100];
cin.getline(s,6);//輸入5個字符
即:cin.getline(s,n);//輸入n-1位字符
格式2:
getline(cin,s);//輸入可以包含空格的字符串
輸出:cout<<s;

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內(nèi)容