格式
两种方式:字符数组和字符串
int N =105;
char str[N];//字符数组
string a;//字符串
输入
cin:读取时以空格符,回车符作为结束符,且不读取这些符号,即这些符号会停留在缓存区。
cin.get:读取时以换行符作为结束符,且读取空格,换行这些符号。
getline:与cin.get类似,第一个是从何输入,第二个是输入的字符串。
注意:因为cin不读入换行符,如果下次输入用 cin.get 这类(能够读换行符)去读取其他的字符串会使得 这类字符串 读入还在缓存区的回车符 导致读入结束。即如下所示,字符串str为空。此时可以选择用getchar去读入缓存区的回车符,或者避免这种现象的发生。
string a;char str[N];char ch;
cin<<a;
cin.get();//读取缓存区的换行符
getchar();//作用和上一句一样
cin.get(str,N);//N为想要读取的字符个数,包括\0的位置
cin.get(ch);//读取单个字符
getline(cin,a);
输出
puts:自动换行,直接输出字符串,可以指定位置输出字符串
输出string类型用cout,(用printf比较麻烦)
char c[10];
printf("%s\n",c);
puts(c);//等价于上一条语句
puts(c+n);//从c+n开始输出
puts("Hello");//可以直接输出字符串
string ch;
cout<<ch;
相关函数
字符串和字符数组的转化:
c_str():可以将string转换成char
字符串的比较:
strcmp函数:只支持字符数组类型之间的比较,字符串类型可直接用‘==’判断。
字符串的拷贝:
strcpy函数:strcpy(chardes,charsrc);将src的内容拷到des中,会覆盖目的数组,并且目的空间要大于原空间,否则会出现错误
返回值为0就是相等,小于0就是左边小于右边,大于0就是左边大于右边。
字符的查找:
strchr函数:strchr(char*des,char c)查找字符c是否在des中,如果是返回第一次的位置,如果没有就返回为空
字符串的粘贴:
strcat函数:strcat(chardes,charsrc);将src的内容粘贴des后面,同样要注意空间问题。
字符串的长度:
char:strlen函数 头文件C++:cstring C:string.h
string:length(),size()
清空字符串
string:str.clean();
strcmp(char a[N],char b[N]);//格式
strcmp(char str[N],a.c_str());//具体调用,字符串a可通过 c._str转换成字符数组类型
len=strlen(str);
len1=a.length();
len2=a.size();
a.clean();
未完