C++ C++;将文件中的单词替换为同样长的单词,而不是替换最后一个单词

C++ C++;将文件中的单词替换为同样长的单词,而不是替换最后一个单词,c++,file,fstream,C++,File,Fstream,我试图用'*'-s替换文件中出现的每个单词,长度与单词相同。这是我目前的代码: fstream file("example.txt"); string desiredWord; cin >> desiredWord; string replacement(desiredWord.size(), '*'); string word; while(file >> word) { if (word == desiredWord) { file.see

我试图用'*'-s替换文件中出现的每个单词,长度与单词相同。这是我目前的代码:

fstream file("example.txt");
string desiredWord;
cin >> desiredWord;
string replacement(desiredWord.size(), '*'); 
string word;

while(file >> word) {
    if (word == desiredWord) {
        file.seekp(-(int)desiredWord.size(), ios::cur);
        file << replacement;
    }
}
file.close();
fstream文件(“example.txt”);
需要的字符串;
cin>>所需单词;
字符串替换(desiredWord.size(),“*”);
字符串字;
while(文件>>word){
if(word==desiredWord){
seekp(-(int)desiredWord.size(),ios::cur);

文件使用
clear()
清除文件流中的文件结束条件。非常感谢,Sam