学习C++ -> 字符串
char a[10] ; char b[20] ; 在定义完一维字符数组时也可以对其进行初始化, 初始化分为两种方式: char a[6] = { 'H', 'e', 'l', 'l', 'o', '\0' } ; char a[] = { 'H', 'e', 'l', 'l', 'o', '\0' } ; char a[6] = { 'H', 'e', 'l', 'l', 'o', ',', 'w', 'o', 'r', 'l', 'd', '\0' } ; //错误! 初始值的长度超过了数组定义的长度 char a[6] = 'H', 'e', 'l', 'l', 'o', '\0' ; //错误! 没有使用大括号 char a[6] = {"Hello"} ; char a[6] = "Hello" ; char a[] = "Hello" ;
#include<iostream> using namespace std ; int main() { char a[] = "Hello" ; //定义并初始化一个字符串· cout<< a ; //输出该一维字符数组中的字符串 return 0 ; }
#include<iostream> using namespace std ; int main() { char a[] = "Hello" ; //定义并初始化一个字符串· cout<< a[2] <<endl ; //输出a[2]中保存的字符 a[0] = 'W' ; //将a[0]中的'H'替换成'W' cout<<a ; //全部输出 return 0 ; }
#include<iostream> using namespace std ; int main() { char a[50] ; cin>>a ; //输入字符串a cout<<a ; //输入后进行输出 return 0 ; } hello world <-这里输入的是带有空格的 hello world hello <-可以看到, 输出时只剩下了空格前面的hello Process returned 0 (0x0) execution time : 7.578 s Press any key to continue.
#include<iostream> using namespace std ; int main() { char a[50] ; cin.get(a, 50) ; //输入字符串a cout<<a ; //输入后进行输出 return 0 ; } 在 cin.get(a, 50) ; 这行, a是要输入字符串的数组名, 后面的50为最长允许获取多少字符, 当值为50时表示只获取输入的前49个字符, 当值为10时表示只获取输入的前10个字符。
#include<iostream> using namespace std ; int main() { char a[50] ; cin.getline(a, 50) ; //输入字符串a cout<<a ; //输入后进行输出 return 0 ; }
#include<iostream> using namespace std ; int main() { char a[50], b[50] ; //定义两个字符数组 cout<<"请输入字符串一:" ; cin.get(a, 50) ; //输入字符串a cout<<"请输入字符串二:" ; cin.get(b, 50) ; //输入字符串b cout<<a ; //输入后进行输出 cout<<b ; return 0 ; } 请输入字符串一:hello my name 请输入字符串二:hello my name Process returned 0 (0x0) execution time : 7.031 s Press any key to continue.
cin.get(数组名, 允许长度).get() ; 这样当第一个 get() 获取到用户输入并存放到字符数组后, 第二个 get() 会负责把换行符提取出来, 相当于抛弃掉, 这样在下一行使用函数进行输入时就不会再出现还没有输入程序就已经默认为输入已经结束的情况。
char a[50] = "Hello" ; char b[50] = "world" ; if(a == b) //错误! a += b ; //错误! a = a + "abc" ; //错误!
#include<cstring> 一些常用的字符串处理函数如下:
需要说明的是关于字符串的大小比较, 字符串的大小比较不是比较其长度, 而是比较从左向右依次比较每个字符的ASCII的值的大小, 如果第一个字符串的第一个字符的ASCII值大于第二个就说明字符串1大于字符串2, 依次类推。 字符串处理函数使用举例: 测量字符串的长度并将该字符串全部转成大写后输出: #include<iostream> #include<cstring> using namespace std ; int main() { char a[50] = "Hello, I am C++ !" ; int n ; //用来保存字符串的长度值 n = strlen(a) ; //测量字符串长度 cout<<n<<endl ; //输出长度 strupr(a) ; //将字符串全部转为大写 cout<<a ; //输出转换后的字符串 return 0 ; }
|
|