读书人

为什么read和write函数不能对string类

发布时间: 2012-03-27 13:44:24 作者: rapoo

为什么read和write函数不能对string类进行读写操作?
如题,谁能解释下啊?


[解决办法]
呃~~问库的开发者吧
c类型字符串和string还是有差别的!
[解决办法]
string是一个类,里面含有指针,对含有指针的类,是不能直接用read和write的,必须序列化
c++的stl,对string类的io重定向了<<及>>操作符,用它可以直接在文件中读/写string的

[解决办法]
string 是个类,里面存的 文本数量是不定长的,所以不能直接直接 用 二进制 写入文件。
可以使用 str.size() 和 str.c_str(),两个参数读写文件
[解决办法]
string是变长字符串,写入可以,但是不知道要读取多少个字符.所以,如果要用string来完成read和write,建议采取行方式,即按行读取和写入.
out<<string<<endl; // 写入一行
getline(in,string,'\n'); // 读取一行
[解决办法]
一个是C,一个是C++
设计C语言类库的时候还没C++这玩意呢,如何设计针对string类的方法。不过string那么强大,c_str()就可以当c得字符串用来

读书人网 >C++

热点推荐