/**
*cppTest-3.0:指針相關-4(字符串函數)
*
*這只是簡單測試一下c語言裏的字符串函數
*author 煒sama
*/
#include<iostream.h>
#include<string.h>
void main(){
char tmp[20]={"草泥馬"},tmp2[20]={"勒戈壁"};
char *s1=tmp,*s2=tmp2;
cout<<s1<<endl;
cout<<s2<<endl;
cout<<strlen(s1)<<endl;//求長度
strcat(s1,s2);//將s2接到s1尾端。注意s1空間要容得下所有內容,不然會覆蓋掉後面的數據,危險!
//測試發現如果內容長度超過s1的空間,調用strlen函數時返回的長度是實際的長度而不是s1所能容納的最大空間長度!
cout<<s1<<endl;
cout<<s2<<endl;
cout<<strcmp(s1,s2)<<endl;//比較
strcpy(s1,s2);//這樣子就已經複製s2到s1了,不需要再返回賦值。s2會覆蓋s1的所有字符!包括超出s2長度的字符!
cout<<s1<<endl;
cout<<s2<<endl;
cout<<strcmp(s1,s2)<<endl;
strcpy(s1,"abc");
cout<<s1<<endl;
strupr(s1);//變大寫
cout<<s1<<endl;
strlwr(s1);//變小寫
cout<<s1<<endl;
char *s3="去年qn",*s4="買了個表mLGb";
cout<<strlen(s3)<<endl;
cout<<strlen(s4)<<endl;
cout<<strcmp(s3,s4)<<endl;
//以下出錯情況再c語言中一樣!這是因爲指針s3和s4指向的是字符串常量,不能修改!
//strcat(s3,s4);//運行時出錯!
//strcpy(s3,s4);//運行時出錯!
//strupr(s3);//運行時出錯!
strlwr(s3);//不會出錯,因爲qn已經是小寫,字符串不用改變~
//strlwr(s4);//運行時出錯!
//strlwr("ABC");//出錯!這裏證明了上面的猜想是正確的!
}
cppTest-3.0:指針相關-4(字符串函數)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.