如何将文本追加到C ++的文本文件?

如何将文本追加到C ++的文本文件? 创build新的if不存在并追加(如果存在)。

#include <fstream> int main() { std::ofstream outfile; outfile.open("test.txt", std::ios_base::app); outfile << "Data"; return 0; } 
  #include <fstream> #include <iostream> FILE * pFileTXT; int counter int main() { pFileTXT = fopen ("aTextFile.txt","a");// use "a" for append, "w" to overwrite, previous content will be deleted for(counter=0;counter<9;counter++) fprintf (pFileTXT, "%c", characterarray[counter] );// character array to file fprintf(pFileTXT,"\n");// newline for(counter=0;counter<9;counter++) fprintf (pFileTXT, "%d", digitarray[counter] ); // numerical to file fprintf(pFileTXT,"A Sentence"); // String to file fprintf (pFileXML,"%.2x",character); // Printing hex value, 0x31 if character= 1 fclose (pFileTXT); // must close after opening return 0; } 

我使用这个代码。 它确保文件被创build,如果它不存在,并且还添加了一些错误检查。

 static void appendLineToFile(string filepath, string line) { std::ofstream file; //can't enable exception now because of gcc bug that raises ios_base::failure with useless message //file.exceptions(file.exceptions() | std::ios::failbit); file.open(filepath, std::ios::out | std::ios::app); if (file.fail()) throw std::ios_base::failure(std::strerror(errno)); //make sure write fails with exception if something is wrong file.exceptions(file.exceptions() | std::ios::failbit | std::ifstream::badbit); file << line << std::endl; }