今天是个好日子
我想在读取指定数量的字符后插入一个点(或任何其他字符)(在我的情况下是 2)
所以这是我的代码:
#include <fstream>
#include <string>
using namespace std;
string dot = "."; //Char to insert
char ch;
unsigned i=0; //Symbol counter
int counter = 2; //How much letters to skip before insertion
int main(){
fstream fin("file.txt", fstream::in);
while (fin >> noskipws >> ch) {
ofstream file;
file.open ("file2.txt");
file << ch;
file.close();
i++;
if(i == counter){
file.open ("file2.txt");
file << dot;
file.close();
i = 0;
}
}
return 0;
}
我在新的 file2.txt 中写的是“0”。
PS我在C ++中很新,所以请深入解释新手(如果你有时间)
先感谢您。
编辑:应用一些修复后,输出现在是“。”
EDIT2:它不允许我回答我自己的帖子(因为我是这个论坛的新手,必须等待 7 小时才能回答),我将在这里发布我的固定代码
固定版本:
#include <fstream>
#include <string>
using namespace std;
string dot = "."; //Char to insert
char ch;
unsigned i = 0; //Symbol counter
int counter = 2; //How much letters to skip before insertion
int main(){
ofstream file;
file.open ("file2.txt");
fstream fin("file.txt", fstream::in);
while (fin >> noskipws >> ch) {
file << ch;
i++;
if(i == counter){
file << dot;
i = 0;
}
}
file.close();
fin.close();
return 0;
}
谢谢大家的回复。