设为首页 加入收藏

TOP

C++中字符数组和字符串string
2014-11-23 18:58:54 来源: 作者: 【 】 浏览:43
Tags:字符 字符串 string

字符数组


C++中字符数组用char str[]可以用来表示一个字符串。


(1) 数组的大小和字符串的长度。


数组的大小一定要大于字符串的长度,因为系统会自动补上一个’\0’作为字符串的结束标志。当然对于未初始化的也补’\0’.


#include
#include


using namespace std;


int main()
{
char str[11] = "I am happy"; // 系统会自动补上'\0'空字符作为结束标志,,未有初始化的也补'\0'
//char str[10] = "I am happy"; // 出错 系统自动补上'\0' 此时字符数组长度不够
//char str[13] = "I am happy"; // 后面未有初始化的也补上'\0' 为 I am happy\0\0\0
if(str[10] == '\0')
{
cout << "hello world!!" << endl;
}


cin >> str; // 输入输出
cout << str << endl;
return 0;
}


(2)getline()


getline函数可以读取文本或者输入流的一行,此时包括前面输入的空格,只到回车换行才结束


#include
#include
#include


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;
}


C++中字符数组和字符串string



(3)比较,连接,赋值,实际长度用函数strcmp, strcat, strcpy,strlen


字符串string


(1)String可以看做一个类库,需要有包含头文件#include .


操作包括:连接(+=,append) 赋值(=, assign) 比较(>=,compare) 查找(find)


替换(replace) 删除(erase) 插入(insert) 字串(substring) 交换(swap)


特性(length sizec_str) 正反向迭代器(interatorreverse_iterator)


其中使用append,assign,compare的好处在于参数可以为字符数组


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇使用Java线程池执行任务 下一篇简单的程序诠释C++ STL算法系列之..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: