C++ cstring函数库使用说明

//字符串输入规则(注意字符串所占的空间结构)
*注意数组越界 为\0留出空间
scanf 遇到空格 自动停止 最后自动加/0 例:输入Fox River 输出 Fox  scanf("%s",line)*没有&符号(&符号是取地址)
易发生数组越界
cin.getline(char 数组名,int size)/cin.getline(数组名,sizeof(数组名)) size是数组大小(可输入空格)
*类型可省
gets(char buf[])//无论输入的字符串多长 都会进入buf 若超长发生数组越界
*可直接用数组名代替
//字符串数组、指针字符串数组
#include <iostream>
using namespace std;
int main()
{
    char str[]={'C','h','i','n','a'};
    for(int i=0;i<5;i++)
    cout << str[i];
    char str1[]={"China"};
    for(int i=0;i<5;i++)
    cout << str1[i];
    char *str2[]={"China","Japan"};
    for(int i=0;i<10;i++)
    cout << str2[i] <<endl;
    return 0;
}
//头文件: #include <cstring> 
例:
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
    char title[]="Prison Break";
    char hero[100]="Michael Scofield";
    char prisonName[100];
    char response[100];
    cout<<"What's the name of the prison in "<<title<<endl;
    cin>>prisonName;
    if(strcmp(prisonName,"Fox-River")==0) //strcmp 比较字符串
    cout<<"Yeah! Do you love "<<hero<<endl;
    else {
        strcpy(response,"It seems you haven't watched it!\n");//strcpy 拷贝
        cout<<response;
    }
    title[0]='t';
    title[3]='\0';
    cout<<title;
}
//字符串库函数
#include <cstring>
字符串的拷贝:strcpy(char [] dest,char [] src);//拷贝src到dest
字符串比较大小:int strcmp(char [] s1,char [] s2);
求字符串长度:int strlen (char[] s);
字符串拼接:strcat(char [] s1,char [] s2);//s2拼接到s1
字符串转换成大写:strupr(char []);
字符串转换成小写:strlwr(char []);
例:
#include <iostream>
#include <cstring>
using namespace std;
void PrintSmall(char s1[],char s2[])//输出字典序小的字符串
{
    if(strcmp(s1,s2)<=0) cout<<s1;
    else cout<<s2;
}
int main()
{
    char s1[30]; char s2[40]; char s3[100];
    strcpy(s1,"Hello");
    strcpy(s2,s1);
    cout<<"1)"<<s2<<endl;
    strcat(s1,",world!");
    cout<<"2)"<< s1<<endl;
    cout<<"3)";PrintSmall("abc",s2);cout<<endl;
    cout<<"4)";PrintSmall("abc","aaa");cout<<endl;
    int n=strlen(s2);
    cout<<"5)"<<n<<","<<strlen("abc"`在这里插入代码片`)<<endl;
    strupr(s1);
    cout<<"6)"<<s1<<endl;
    strcpy(s1,s2);//strcpy会将原数组中的字符串清空后,再拷贝进去
    cout<<s1;
}
输出:
1)Hello
2)Hello,world!
3)Hello
4)aaa
5)5,3
6)HELLO,WORLD!
Hello
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值