求问一个小小的c++的问题,
题目
求问一个小小的c++的问题,
#include
#include
#include
using namespace std;
int main()
{
vector lines;
string s = "abc\nb\n\nc\n\n\ndef";
string::size_type pos1 = 0;
string::size_type pos2 = 0;
if(s.find('\n') = string::npos)
{
while( (pos2 = s.find_first_of('\n',pos1)) = string::npos)
{
if(pos1 == pos2)
lines.push_back("\n");
else
{
lines.push_back(s.substr(pos1,pos2));
lines.push_back("\n");
}
++pos2;
pos1 = pos2;
}
lines.push_back(s.substr(pos1,pos2));
}
vector::iterator it;
for(it = lines.begin();it = lines.end();++it)
{
cout
答案
逻辑有问题.用if(pos1 == pos2)去判断重复的\n不太可靠,还不如直接去比较\n.另外你的输出不对,主要是s.substr(pos1,pos2)用错,第一个参数是index,第二个参数给长度.照你的思路重写了一下,简单测试没问题,建议这类问...
举一反三
已知函数f(x)=x,g(x)=alnx,a∈R.若曲线y=f(x)与曲线y=g(x)相交,且在交点处有相同的切线,求a的值和该切线方程.
我想写一篇关于奥巴马的演讲的文章,写哪一篇好呢?为什么好
最新试题
热门考点
- 求助找规律5,7 ,2,— ,5,8 ,第四个空格填什么啊解释一下
- 怎样可以将水冻成完全透明的冰
- 第0.2秒内指的是第0.1s末-0.2s末,还是前0.2秒?
- 我已经努力做过了,但是结果还是不理想.用英语怎么说?
- 匀变速直线中中间位置的速度大于中间时刻的速度如何证明
- he,with his family,____a very small house,中间填什么啊
- 在等差数列中(an) ,a1>0 S16>0,S17
- 根据首字母提示写出句中所缺的单词.
- 有一个分式,三位同学分别说出了它的一些特点,甲:分式的值不可能为0,亿:分式有意义时X的取值范围是X≠2且≠-2,兵:当X=1时,分尸的值为2,写出满足条件的一个分式
- 1.两个倍数的最小公倍数是91,这两个质数的和是( ).