" 0, 0, 0"
ためのファイルや検索からこのコードをロードし、テキストとに置き換えそれはsearchresult = -1
までこれをやり続けるだろう
searchresult = stringFile.find(" 0, 0, 0")
と
substr(searchresult + search_string.length() , stringFile.length())
を使用。そうであれば、変更された結果をファイルに書き戻します。前putpixel.txt
の
#include <iostream>
#include <string>
#include <fstream>
#include <sstream>
using namespace std;
int main(){
int searchresult=1;
ifstream inFile;
// load file into string
inFile.open("putpixel.txt");
stringstream strStream;
strStream << inFile.rdbuf();
string stringFile = strStream.str();
inFile.close();
cout<<"\nBefore replace \n";
cout<<""<<stringFile<<" \n";
// initialize search string and replace string
string search_string = " 0, 0, 0";
string replace_string = " ";
// while searchresult is still greater than zero then keep searching
while (searchresult > 0){
searchresult = stringFile.find(search_string);
// if searchresult is greater than zero then keep doing this
if(searchresult >= 0){
string tmpstring = stringFile.substr(0,searchresult);
tmpstring += replace_string;
tmpstring += stringFile.substr(searchresult+search_string.length(), stringFile.length());
stringFile = tmpstring;
}
}
// update file after removing
ofstream outFile("putpixel.txt");
outFile << stringFile;
outFile.close();
cout<<"\nAfter replace \n";
cout<<""<<stringFile<<" \n";
cout<<"\nPress ANY key to close.\n\n";
cin.ignore(); cin.get();
return 0;
}
出力:後putpixel.txt
の
PutPixel(x + N, y + N, 0, 0, 0);
PutPixel(x + N, y + N, 0, 0, 0);
PutPixel(x + N, y + N, 0, 0, 0);
PutPixel(x + N, y + N, 0, 0, 0);
出力:
PutPixel(x + N, y + N,);
PutPixel(x + N, y + N,);
PutPixel(x + N, y + N,);
PutPixel(x + N, y + N,);
は、実際には文字列の一部のコメントですか?ソリューションはそれを無視するほど知的である必要がありますか? – BoBTFish
** end ** - 9から位置を計算して 'substr()'を使うのはどうですか? –
@ yahoo5000文字列の定義とその初期化方法を表示します。 –