空格的ASCII码是32;
\0的ASCII码是0; '\0'的意思是ASCII 为0 的字符。 它所的意义是“字符串结束符”。 比如,一个字符串"Hello" ,它是由字符'H','e','l','l','o','\0' 6 个字符在内存中连续存放的。
c语言字符串输入:
gets函数使用方法:
gets(字符数组名);
gets函数说明
gets()函数通过判断遇到的第一个换行符(\n)结束输入,字符串没有预定的长度。它读取换行符之前(不包括换行符)的所有字符包括空格,并在这些字符后添加一个空字符(\0)。
gets()函数不会检查存储区是否能够容纳实际输入的数据,多出来的字符简单地溢出到相邻的内存区所以定义函数时要注意开够内存
scanf()函数使用方法:
char s[20];
scanf("%s",s);
scanf()函数说明:
scanf()函数可以使用%s格式来读入一个字符串,遇到比如空格、制表符或换行符就停止读入。
字符串输出:
puts函数使用方法:
puts(字符数组名);
puts函数说明:
可以输出空格
可以自动换行
printf()函数使用方法:
char s[20];
scanf("%s",s);
printf("%s",s);
printf()函数说明:
不能输出空格
记录下c函数库专门处理字符串的函数:
头文件:#include<string.h>
输入输出:
puts(str);
gets(str);
字符串连接函数 :strcat(str1,str2);
printf("%s",strcat(字符数组str1,字符串str2));
字符串复制函数:strcpy和strncpy
strcpy(str1,str2);//把字符串str2中复制到字符串数组str1中去;
注意:str1必须开的足够大以便容纳被复制的str2,str1的长度应大于str2的长度;str1必须写成数组名形式,str2可以是字符数组名,也可以是字符串常量,如"China".
strncpy(str1,str2,n);//将str2中最前面两个字符复制到str1中从而取代str1中前两个字符.n应小于等于str1中原有字符个数(不包括 '\0' ).
字符串比较函数:strcmp函数
形式:strcmp(str1,str2);
规则:按ASCII码大小将两个字符自左至右逐个字符字符比较,直到出现不同的字符或遇到 '\0' 为止.
(1)如果全部字符相同,则两个字符串相等,函数值为0;
(2)若出现第一对不相同的字符,且str1>str2,则函数值为一个正整数;若str1<str2,则函数值为一个负整数.
测字符串长度函数:strlen
形式:strlen(str);
说明:该函数值为字符串的实际长度(不包括 '\0' 在内)
转换函数:
strlwr(str); //将字符串大写字母转换为小写字母
strupr(str); //将字符串小写字母转换为大写字母
c++输入输出:
格式1:
#include<string>//C++标准库提供了专有的字符串类型string
string s;char s[100];
cin.getline(s,6);//输入5个字符
即:cin.getline(s,n);//输入位字符
格式2:
getline(cin,s);//输入可以包含空格的字符串
输出:cout<<s;