C++ string_demo

string类的使用  以及string与char * 之间相互转换

string字符串 长度  相加 比较 子串查找


#include <string>    //  使用 string 类时须包含这个文件
#include <iostream>

using namespace std;

int main()
{
    string str1;
   
    //  输入与输出
    cout << "输入字符串 str1" << endl;
    cin >> str1; 
	getchar();
    cout << str1  << endl;
    
    //  一行行读取  
    cout << "输入字符串 str1" << endl;
    getline( cin, str1 );//读入一行字符串string
    cout << str1 << endl;

    //  与 c字符转换  
    string str2("Hello World!"), str3;
    char   str4[50];

    cout << "输入 C 字符串" << endl;
    scanf("%s",str4);
    str3= str4;//string str3;  char str4[50]  str3 = str4;  (char[] -->string )

    cout << "str2 is " << str2 << endl;
    cout << "str3 is " << str3 << endl << endl << endl;

    //  求string类型字符串的长度
    string str5;
    cout << "输入字符串 str5" << endl;
    cin >> str5;
    int   len= str5.size();//string str5    str5.size()  
    cout << "字符串 str5的长度为" << len << endl << endl << endl;

    //  遍历字符串例子
    string str6;
    cout << "输入字符串 str6" << endl;
    cin >> str6;
    int i;
    for( i= 0; i< str6.size(); ++i )
    cout << str6[i];
    cout << endl << endl;

    //  比较两个字符串 string  比较(直接 大小于)规则同 c字符串比较规则
    string str7, str8;
    cout << "输入字符串 str7, str8 , 中间用空格格开" << endl;
    cin >> str7 >> str8;

    if( str7< str8 ) 
		cout << str7 << "  小于 " << str8 << endl;
    else if( str7> str8 ) 
		cout << str7 << "  大于 " << str8 << endl;
    else 
		cout << str7 << "  等于 " << str8 << endl;
    
    
    //  字符串**与字符相加*** 
    string str9= "Darren";//可以改变的字符串  例如  +操作
    char ch1= 'a', ch2= 'b';
    str9= str9+ ch1; 
	cout << str9 << endl << endl;
    str9= ch2+ str9; 
	cout << str9 << endl << endl << endl;
    
    //  字符串***与字符串相加***
    string str10= "Acm", str11= "ICPC";
   // str10.append( str11 );//append
	str10 = str10 + str11;//效果同上
    cout << str10 << endl << endl;
    
    //  字符串是否包含子串  如果包含 则返回子串在目标串中第一次出现的位置 
    string str12= "I am a student", str13= "student", str14= "aaaaaaa";
    if( str12.find( str13 )!= -1 )  
		cout << "Find " << str13 << endl;
    if( str12.find( str14 )== -1 )  
		cout << "Not Find  " << str14 << endl;
    
    //  转换成 c_字符串  (string  -->char [])
    string str15= "Hello World";
	char str16[10];
	strcpy(str16,str15.c_str());//char *strcpy(char* dest, const char *src);
    printf("%s\n", str16 );
     
    system("pause"); 

    return 0;
}


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值