sizeof(数组名):返回整个数组长度
strlen():返回字符串的长度且不包括空字符
读入数组时:
char name【20】;
char *name;
字符串的输入:
cin使用空白(空格,制表符,换行符)来确定字符串的结束位置
cin.getline(读入的数组名称,读取的字符数):结尾会自动添加空字符,故若读取字符数为20,仅能读入19个字符,该函数在读取指定数目的字符或遇到换行符结束。getline会丢弃换行符
cin.get(name,arsize):get并不丢弃换行符并将其留在输入队列中
所以 在连续读入时候需要对换行符进行处理 ,如:
cin.get(name,arsize);
cin.get();不带任何参数的cin.get可读取下一个字符,用来处理换行符。
cin,getline(name,arsize)
几个函数:字符数组
需头文件<cstring> 如char name1【10】=“ddawda” char name2【10】=“fawfawf”;
1.strcpy(字符数组1,字符数组2):把第二个复制到第一个中strcpy(name1,name2)
2.strcat(字符数组1,字符数组2):把第二个附加到第一个末尾 strcat(name1,name2)
也可以strcat(name1,“dawdawda”);
3.strlen(数组名)或strlen("fawfawf");
string类: 头文件 <string>
声明一个string对象: string s;
读入 cin>>s cout<<s; 与字符数组的区别是,可以将string对象声明为简单变量,而不是数组,同时程序可以自动处理string 的大小,在cin>>时自动调整长度。
string类:
合并:str3=str1+str2;//string类由于可以自动调整大小,故不存在数组内存超出的问题
赋给:str2=str1;