【问题标题】:Insert Carriage Return in unformatted text file在未格式化的文本文件中插入回车
【发布时间】:2015-06-08 09:04:11
【问题描述】:

C++ 问题。我有一个没有“回车”“换行” 的文本文件。

所有单词都连接在一个完整的块中。

我想通过将每个子字符串 "ABC" 替换为 "回车""新行" 来将文件分成几行字符。

P.S:我无法逐行扫描文件,因为文件实际上是单行,大于单个字符串允许的最大值 (string::max_size)

【问题讨论】:

  • 不能直接对文件进行操作。您从备份版本中读取,解析 "ABC" 并输出其他文本或 '\n' 类似。
  • 在编码时是否知道“ABC”字符串?
  • 理论上是的...
  • “理论上”是什么意思?请解释一下。
  • 我可以在代码程序中将字符串“ABC”换成另一个字符串。

标签: c++ text-files newline carriage-return


【解决方案1】:

我用下面的代码解决了:

ifstream  input("File_In");
ofstream output("File_Out");

for (unsigned long long int SEEK=0 ; SEEK<(MAX_LIMIT) ; SEEK++)
{
input.seekg(SEEK);
char tmp[4] ;
input.read(tmp,3);
output<<tmp[0];
if (string(tmp)=="ABC") output<<'\n';
};

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-17
    • 1970-01-01
    • 1970-01-01
    • 2011-07-22
    • 2022-08-18
    • 2015-12-05
    相关资源
    最近更新 更多