18:字符串-char型字符串

时间:2022-08-14 02:31:39
1 什么是字符串?
字符串是以空字符(\)结尾的字符数组。
空字符的assii码为:0, 空格的ascii码为32
2 \0的作用
'\0'是一个空字符标志,它的ASSII码为0,C++有好多处理字符串的函数,都以'\0'为结束标记。
也就是以空字符为结束标记,比如cin,cout。它们都以空字符为结束标记,他们在遇到空字符后将会停止输入或输出。 3 cin.ignore()
cin.ignore(a,ch) 从输入流(cin)中提取字符,提取的字符被忽略(ignore),不被使用。每抛弃一个字符,
它都要计数和比较字符:如果计数值达到a或者被抛弃的字符是ch,则cin.ignore()函数执行终止;否则,它继续等待
默认参数为cin.ignore(1,EOF),即把EOF前的1个字符清掉,没有遇到EOF就清掉一个字符
它的一个常用功能就是用来清除以回车结束的输入缓冲区的内容,消除上一次输入对下一次输入的影响.
4 cin.get(char[], n) 的结束标记是 \n 换行符。因此遇到空白字符(空格,tab)不会结束。同时在输入结束后,也就是用户输入第一个回车后,cin.get自动为
当前接受的输入的数组添加字符串结束标记 \0, 因此它实际保存的有效字符是它的第二个参数减1. 5 cin遇到不可见字符(制表符和空格)和空字符('\0')就停止输入。
cout则只是遇到空字符才停止输出。0 6 char man[] = {"a "} 是一种简写,隐含了字符串结束标记\0 char m[] = {'a', 32, 'b', '\0'}; 7 计算字符串长度时,不要忘记最后的空字符'\0' strlen(char型字符串)是计算可见字符的长度(不包括 ascii 0) sizeof(是计算字符串的长度)(含asscii0)
#include <iostream>
using namespace std; int main()
{
{
cout << "字符数组" << endl;
char man[] = {'J', 'a', 'c', 'k'};
cout << man << endl;
cout << "----------------" << endl;
} {
cout << "字符串" << endl;
char man[] = {'J', 'a', 'c', 'k', '\0'};
cout << man << endl; } {
cout << "空字符的作用" << endl;
char man[];
cin >> man;
cout << man << endl;
} {
char man[];
cin.ignore(, '\n');
//cin.ignore();
cin.get(man, );
cout << man << endl;
} {
char man[];
cin.ignore(, '\n');
//cin.ignore();
cin.get(man, );
cout << man << endl;
} {
char m[] = {'a', , 'b', '\0'};
cout << m << endl;
cout << "----------------" << endl;
} {
char man[] = {"a b"};
cout << man << endl;
} {
char man[] = {"hello world"};
cout << man << endl;
cout << "strlen(man)=" << strlen(man) << endl;
cout << "sizeof(man)=" << sizeof(man) << endl;
man[] = '\0';
cout << "strlen(man)=" << strlen(man) << endl;
cout << "sizeof(man)=" << sizeof(man) << endl;
} return ;
} /* vim: set ts=4 sw=4 sts=4 tw=100 */