gpt4 book ai didi

c++ - 在 2 个字符之后插入点,直到 C++ 中的文件末尾

转载 作者:行者123 更新时间:2023-11-28 07:27:31 25 4
gpt4 key购买 nike

大家好

我想在读取指定数量的字符后插入一个点(或任何其他字符)(在我的例子中是 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”。

附言我是 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;
}

谢谢大家的回复。

最佳答案

对于像这样的简单应用程序,在开始阅读之前 打开输出文件,并且在完成之前不要关闭它。如所写,每次读取一个字符时都会打开输出文件,然后覆盖文件中之前的任何内容。您可以以追加模式打开文件以在末尾粘贴新数据,但保持打开状态更简单(也更快)。

关于c++ - 在 2 个字符之后插入点,直到 C++ 中的文件末尾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18470638/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com