2016-11-20 215 views
0

我试图让我的程序识别出第一行中的第一个字符需要变成“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!! 
+0

写一个新的文件? – MatBailie

回答

0

而不是

cout <<filevalue<<endl; 

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

.empty不允许使用,有没有其他方法可以做到这一点? –

+0

.length? if(filevalue.length()!= 0 && filevalue [0]!='T') – Waxrat

+0

.c_str()? if(filevalue.c_str()[0]!='T') – Waxrat