c语言字符串替换将you替换为we,C语言字符串函数 - osc_mcgiza9x的个人空间 - OSCHINA - 中文开源技术交流社区...

注意!!!要严格区分单引号和双引号!单引号内只能是一个字符,而双引号是字符数组

#include#include#include

intmain()

{char mystr[]="猴子和我一起来,我和猴子一样帅";

gets(mystr);

system("pause");returnEXIT_SUCCESS;

}

puts()-----输出字符串并换行

gets()-----获取字符串,可以有空格

scanf-----获取输入,由于gets()和scanf()无法获知数组的大小,只有遇到结束符或换行符才终止,不可以有空格,因此可能导致数组越界,所以要加上宏 #define _CRT_SECURE_NO_WARNINGS

要么添加在代码的开头,要么添加在IDE的设置项中,如下

af68c9f38b3f519c3071915331bdc317.png

dbc0521015ccab663a9fed9a12410e69.png

fgets() 三个参数 字符指针变量名  长度 输入流(std):两种情况----输入信息小于等于字符指针长度,会在输入的末尾加上\n\0,或者,在超过长度时,等待换行符\n(也就是当我们敲击键盘回车键的时候)的输入,把\n替换为\0;由此看出fgets()比gets()安全

#include #include

intmain()

{char cpc[10] = { 0};char cj[10] = { 0};

printf("%p\n",cpc);

printf("%p\n", cj);

fgets(cpc,sizeof(cpc), stdin);

printf("%s\n", cpc);

system("pause");

}

7372bf200c7a844b8a43936de6725076.png

735736724901fc6d5803d93a3e632822.png

scanf("%*d%s")%*d忽略数字,*c忽略字符,如果忽略的是字符串就麻烦了,要写字符串指针长度个*c(例如有100就写100个)

f88ec6cc88499c39af87b7473d4ded52.png

#include #include#include

intmain()

{char wenwa[]="cpc";

printf("%-5s",wenwa);

printf("%5s",wenwa); system("pause");

return EXIT_SUCCESS;

}

566f0c4405e2fce796a9df6049293d73.png

strlen()字符串长度

intmain()

{char wenwa[]="sunshine is lady rock you like a baby";int mylen =strlen(wenwa);

printf("%d\n",mylen);

printf("%d\n",sizeof(wenwa));

system("pause");returnEXIT_SUCCESS;

}

strcpy(目标地址,源地址)字符串拷贝

chartarget[];charsrc[];if (strcpy(target,src)!=NULL)

{

}

strncpy()

intmain()

{char mywords[]="喜欢陈培昌";charhiswords[];

strcnpy(hiswords,mywords);

hiswords[5]=0;

printf(hiswords);returnEXIT_SUCCESS;

}

strcat()

#include #include#include

intmain()

{char myarr[] ={0};char myarr2[]={0};

gets(myarr);

gets(myarr2);

printf(strcat(myarr,myarr2));

system("pause");returnEXIT_SUCCESS;

}

strncat()

intmain()

{char myarr[8] = { 0};char myarr2[10]={ 0};

gets(myarr);

gets(myarr2);

strncat(myarr, myarr2,sizeof(myarr)-strlen(myarr) - 1);

puts(myarr);

system("pause");returnEXIT_SUCCESS;

}

8af861c2ec7a6efa15c1b03ba6ad56b2.png

sprintf()向数组打印字符串

9038db7c8ef17e14edeb20c0c3eb178f.png

strchr(a,'c')在a中找到‘c’,并返回位置。

char *c = strchr(a,'c')

strstr (a,"345")---查找字符串,找不到,返回NULL

strtok() 分割字符串char *p =strtok();

printf(p)

atoi()

char wenwa[] ="789";

printf(atoi(wenwa));

wenwa是char数组

atoi()把数组转换为整数,两者地址不一样

一种怪异的把字符串转换为数字的方法

char mynum[] = "456";

(mynum[0]-0x30)*1000;+(mynum[1]-0x30)*100;+(mynum[2]-0x30)*10;

字符串逆置

查找数组中第二大的数字

#include #include

intmain()

{int mynum[]={43,88,56,24,78,12,8};returnEXIT_SUCCESS;

}

strlen字符串长度不包括末尾的'/0'

sizeof()返回的是数组一共占据了多少字节的内存空间

c6e20c05737e573e4db76c8b7b349deb.png

sprintf存在缓冲区溢出的问题。

strtok()字符串拆分

b0dc0620e37b7bb6db3a72c9928a7c31.png

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值