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
    评论
引用中提到了scanf_s函数的使用方法和格式控制字符串的注意事项。在使用scanf_s函数读取输入时,除了格式声明之外,如果格式控制字符串中还包含其他字符,那么在输入数据时需要在对应位置上输入与这些字符相同的字符。例如,如果格式控制字符串中包含逗号分隔符,那么输入数据时需要按照逗号分隔的格式输入数字。但是如果在格式控制字符串中只使用了空格作为分隔符,那么输入数据时可以使用空格或其他分隔符进行区分。但是在上面的例子中,只能使用逗号作为分隔符,不能使用其他格式。中提到了在使用scanf函数读取字符串时的一个问题。当使用%s格式读取字符串时,遇到空格就会认为字符串结束,无法读取包含空格的完整行。这个问题可以通过使用其他的输入函数或者使用fgets函数来解决。<span class="em">1</span><span class="em">2</span> #### 引用[.reference_title] - *1* [C语言使用scanf_s函数输入的正确姿势](https://blog.csdn.net/abtain/article/details/80101878)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [C语言笔记-考研版(进阶)](https://download.csdn.net/download/qq_51089445/87793919)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值