2016-11-20 179 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