一.c种常用处理字符(数组)方法
1.在c中,char s[1000];//定义一个字符数组 s, //注意字符串结束标志 ‘ \0’
可以单独对其中一个字符操作: scanf("%c",s[i]);
printf("%c",s[i]);
对整个字符串操作: scanf("%s",s);
printf("%s",s);
scanf("%s%s%s",str1,str2,str3); //输入三个字符串,以空格分隔开来
这句话有两种输入模式:第一种三个字符串在一行,字符串之间用空格分开。
第二种输入一个字符串按回车换行输入下一个字符串。
scanf("%d",&n); //这句话如果有输入而且输入格式正确(%d输入数字)就返回值1,否则返回0
比如scanf("%d",&n)这句话输入一个字符就会返回0,因此产生了这种用法:
while(scanf("%d",&n))
while(scanf("%d",&n)&&n)等
如果输入了空格会认为字符串结束,空格后的字符将作为下一个输入项处理,但gets()函数将接收输入的整个字符串直到遇到换行为止
2.puts() ----输出字符串:将一个以‘\0’结尾的字符串输出到终端
puts输在输出时遇到‘\0’转化为'\n',即输出换行
如: char s[100]="My love don’t love me!";
puts(s);
gets(字符数组) --从终端输入一个字符数组,并且得到一个函数值。该函数值是字符数组的起始地址,如下:
char *p;
char s[100];
p=gets(s);
puts(p);
attention:gets()与puts()只能输入或输出一个字符串,当然我们可以循环输入!
3.strcat(字符数组1,字符数组2); //将2接到1的后边,放在1里。返回值为字符数组1的起始地址.必须保证1能够放得下!
4 .字符串复制函数 strcpy(str1,str2); //将2复制到1
同样的,1必须大小足够容纳2,1必须为字符串名,2可以是字符串常量
strncpy(str1,str2,2); //将2种前面n个字符复制到1种去
5.strcmp(str1,str2); //字符串比较函数(ASCII码比较),1>2,返回一个正数,1<2,返回一个负数,如相等返回0
6.int s=strlen(str) //字符串长度,注意不包括‘\0’
7. strlwr(str) //大写转换成小写
strupr(str) //小写转换为大写
二. c++中
STL中string