C语言笔记-字符串

可以用scanf()接受字符串,它不接收空格

 

char str[100]="Good morning";
 scanf("%s",str);

str中的内容是Good
 
 char str[100]="Good morning";
 scanf("%3s",str);

str中的内容是Goo


 char str[100]="Good morning";
 scanf("%5s",str);

str中的内容是Good.

用scanf()输入字符串时,数组名前不加&

 

 

 

 

 

 

 

 

 

 

输入字符串函数gets(),它可以接收空格,以回车结束输入

例如:char str[100]=" ";

gets(str);

puts(str);

 

输入字符函数getchar()和getch()

getchar()输入回显

getch()不回显,而且可以接收'\r',常用于输入密码操作,需要#include<conio.h>

 

 

可以用print'f()输出字符串,找'\0'结束,否则一直输出。

char str[100]="ABC";

printf(“%s",str);     //输出ABC

 

char str[100]="ABC";

str[1]='\0';

printf("%s",str);    //输出A

 

char str[4]="ABC";

str[3]='D';

printf("%s",str);        //错误,没有\0

 

 

 

其他输出函数:

输出字符串函数puts()

例如:char str[100]="ABC";

puts(str);

 

输出字符函数putchar();

例如:char str[100]="ABC";

putchar(str[0]);

putchar('\n');

 

 

 

 

 

内存赋值函数:memset()

memset用法有:

memset(szName,'\0',100);//表示把数组szName前100位的元素清0

memset(szName,'A',5);//表示把数组前5位的元素都替换成A;

memset(szName+5,'A',5);//表示从数组下标为5的元素开始往后5个元素都替换成A

 

 

 

字符串拷贝stcpy()

格式为strcpy(字符数组1,字符数组2);

strcpy(字符数组名,字符常量);

例如:char str[]="1234";

char szName[100]="";

strcpy(szName,str);

strcpy(szName,"1234");

 

 

char szName[100]="";

strcpy(szName,"12345");

strcpy(szName,"Li");

puts(szName);//结果是Li, \0也拷贝过去。

 

strncpy()

strncpy有如下用法:

//表示把数组下标为x的元素开始往后按顺序替换成A,B,C

strncpy(szTemp+x,"ABC");

//只复制“1235”的前两个字符给str字符串

strncpy(str,"12345",2);

//把strB的下表为y之后的z个字符,复制给strA以下表为x的字符后面去,(包括xy的元素)

strncpy(strA+x,strB+y,z);

注意:strcpy不检查目标字符串的大小,当目标字符串内存不足,会导致崩溃。

 

 

 

字符串比较strcmp

格式:strcmp(字符串1,字符串2);

比较相同位置上的ASCII码值的大小(常用于比较字符串是否相等)

两个字符串相等返回0,字符串1大于字符串2返回正数,否则返回负数。

可以有如下使用方法:

strcmp(s1,s2);

strcmp(s,"123");

strcmp("123",s);

 

字符串拼接strcat

格式:strcat(字符数组1,字符数组2);

功能:吧字符数组2中的字符串连接到字符数组1中字符串的后面,并删去字符串1后的串标志"\0"   本函数返回值是字符数组1的首地址。

 

 

字符串转换函数:

atof,,atoi ,atol

 

字符串测试函数:

isalum,isalpha

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值