C++删除txt文件中的最后一个字符

4 c++ text-files

我需要一些关于删除txt文件中最后一个字符的帮助.例如,如果我的txt文件包含1234567,我需要C++代码删除最后一个字符,以便文件变为123456.谢谢大家.

Jer*_*fin 5

在可移植代码中执行此操作的唯一方法是读入数据,并写出除最后一个字符之外的所有字符.

如果您不介意非可移植代码,大多数系统都提供截断文件的方法.传统的Unix方法是寻找你希望文件结束的地方,然后在那一点写一个0字节到文件.在Windows上,您可以使用SetEndOfFile.其他系统将使用不同的名称和/或方法,但几乎所有系统都具有某种形式的能力.


Ale*_*x Z 5

对于便携式解决方案,应该按照以下方式完成这项工作:

#include <fstream>

int main(){
    std::ifstream fileIn( "file.txt" );              // Open for reading
    std::string contents;
    fileIn >> contents;                              // Store contents in a std::string
    fileIn.close();
    contents.pop_back();                             // Remove last character
    std::ofstream fileOut( "file.txt", std::ios::trunc ); // Open for writing (while also clearing file)
    fileOut << contents;                             // Output contents with removed character
    fileOut.close();

    return 0;
}
Run Code Online (Sandbox Code Playgroud)