Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux / C++中字符数组和字符串string

字符数组C++中字符数组用char str[]可以用来表示一个字符串。(1)  数组的大小和字符串的长度。数组的大小一定要大于字符串的长度,因为系统会自动补上一个’’作为字符串的结束标志。当然对于未初始化的也补’’.#include <iostream>
#include <string>using namespace std;int main()
{
 char str[11] = "I am happy";  //  系统会自动补上""空字符作为结束标志,,未有初始化的也补""
 //char str[10] = "I am happy";    // 出错  系统自动补上"" 此时字符数组长度不够
 //char str[13] = "I am happy";    //  后面未有初始化的也补上"" 为 I am happy
 if(str[10] == "")
 {
  cout << "hello world!!" << endl;
 } cin >> str;      //  输入输出 
 cout << str << endl;
 return 0;
}(2)getline()getline函数可以读取文本或者输入流的一行,此时包括前面输入的空格,只到回车换行才结束#include <fstream>
#include <iostream>
#include <string>using namespace std;
int main()
{
    ifstream in("E:\algorithmZack\testString\input.txt");
    if(!in)
    {
          cerr << "some errors happened";
          return -1;
    }
    string str;
  while(getline(in, str)) ///  getline 从文件input.txt中按行读取文件
    // while(getline(cin, str))  //  从输入流中按行读取  不包括换行符
    {
            cout << str << endl;
    }
    return 0;
}(3)比较,连接,赋值,实际长度用函数strcmp, strcat, strcpy,strlen参见:http://www.linuxidc.com/Linux/2014-11/108798.htm字符串string(1)String可以看做一个类库,需要有包含头文件#include <string>.操作包括:连接(+=,append) 赋值(=, assign) 比较(>=,compare) 查找(find)替换(replace)  删除(erase) 插入(insert) 字串(substring) 交换(swap)特性(length sizec_str)  正反向迭代器(interatorreverse_iterator)其中使用append,assign,compare的好处在于参数可以为字符数组详细见:http://www.linuxidc.com/Linux/2012-01/52537.htm更多详情见请继续阅读下一页的精彩内容: http://www.linuxidc.com/Linux/2014-11/108799p2.htm