为什么read和write函数不能对string类进行读写操作?该怎么处理
为什么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类型字符串和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得字符串用来