码迷,mamicode.com
首页 > 其他好文 > 详细

string知识

时间:2014-11-13 20:21:26      阅读:190      评论:0      收藏:0      [点我收藏+]

标签:style   ar   使用   sp   文件   数据   on   bs   line   

因为历史原因以及为了与C语言兼容,字符串字面值与标准库string类型不是同一种类型。这一点很容易引起混乱,编程时一定要注意区分字符串字面值和string数据类型的使用,这很重要。

 

额~~~C字符串是const char * 类型,而string是标准库类型,

当你在操作文件时,这种区别就很明显了,打开文件时的文本名一定是
const char*类型的,而如果你用的是string类型时就会出错

string str = "aaa.txt";
ifstream infile;
infile.open(str); // 此处出错
infile.open("aaa.txt"); // 或者是 infile.open(str.c_str()); 也可以!!这时就不会出错了!
// open()函数的参数一定要是C风格字符串才行

 

c的字符串头文件是#include<string.h>或者#include<cstring>
stl的string头文件是#include<string> 而且在名字 空间std中。

 

string是STL模板里面的  使用vector来编写的  char*是以‘\0‘结尾 但是string不是的

 

 

 

==================================================

 

字符串操作函数,strstr等等,不能操作 char *buf="asffhu3gyt8939";常量字符串不能修改

数组可以 char buf[1024]={0};  相当于memset(bud,0,sizeof(buf));

 

string知识

标签:style   ar   使用   sp   文件   数据   on   bs   line   

原文地址:http://www.cnblogs.com/qbmiller/p/3994261.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!