【问题标题】:adding characters to a string将字符添加到字符串
【发布时间】:2016-11-20 00:07:54
【问题描述】:

我试图让我的程序识别第一行中的第一个字符需要变成“Tathis”。例如,如果单词中的第一个字符是“T”,则 Throw 将变为 Tatrow。我不太确定如何添加字符...

#include <iostream>
#include <fstream>
#include <string>

using namespace std;



int main()
{




  ifstream in;
in.open("asdf.txt");
string filevalue;

//Line 1
getline(in,filevalue);
cout <<filevalue<<endl;


//Line 2
getline(in,filevalue);
cout <<filevalue<<endl;

//Line 3
getline(in,filevalue);
cout <<filevalue<<endl;

//Line 4
getline(in,filevalue);
cout <<filevalue<<endl;

//Line 5
getline(in,filevalue);
cout <<filevalue<<endl;





return 0;
}

数据文件名为 asdf.txt,包含以下内容:

This is line1.
Hey?!
I like 17.5;
but not -2.37
Done!!

【问题讨论】:

  • 写一个新文件?

标签: c++ string char line


【解决方案1】:

代替

cout <<filevalue<<endl;

if (!filevalue.empty() && filevalue[0] == 'T')
    cout <<"Tat"<<filevalue.substr(1)<<endl;
else
    cout <<filevalue<<endl;

【讨论】:

  • .empty 不允许使用,有没有其他方法可以做到这一点?
  • .length? if (filevalue.length() != 0 && filevalue[0] != 'T')
  • .c_str()? if (filevalue.c_str()[0] != 'T')
  • if (filevalue != "" && filevalue[0] != 'T')
  • if ((filevalue + "!")[0] != 'T')
猜你喜欢
  • 1970-01-01
  • 2010-12-11
  • 1970-01-01
  • 2017-03-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-10-21
相关资源
最近更新 更多