读书人

有关std:string的有关问题

发布时间: 2012-02-25 10:01:47 作者: rapoo

有关std::string的问题
第一个:
char buf[1000];
... 给buf赋值
std::string str = buf; //这里str是把buf的内容拷贝一份的,我想问的有什么办法让str直接引用buf而不是值拷贝.

第二个:有关 fstream的问题,我现在需要把一个文件的一部分内容拷贝进来,
如果我想把文件每行内容都放在一个string里面, 我不断用> > 才读取
例如: fstream fs;
string strarray[N];
{
fs> > strarray[i]; //这里不断循环读取
}
我想问的是:这样每次> > 都是一次读取文件操作?如果是这样话,如此频繁读,每次只是读取小量数据,这样在性能上会不会很差? 如果先读取全部内容到一个 char[],再把char[]的内容赋值到一个string,这样做性能会不会好点?

请各位大侠指教

[解决办法]
一,除非str是指针。
二,差别不大,底层实现方式差不多
[解决办法]
二 ,都差不多一样吧
[解决办法]
1,没可能。string和char[]是两个层次不同的东西,混在一起用是很糟糕的。
2,差别不大。优先使用美观,方便的方法。
[解决办法]
1 不能。std::string str = buf; string 和char[]不是一个类型,无法引用

读书人网 >C++

热点推荐