Hoe voeg ik tekst toe aan een tekstbestand in C++?

Hoe voeg ik tekst toe aan een tekstbestand in C++? En maak een nieuw tekstbestand als het nog niet bestaat en voeg er tekst aan toe als het wel bestaat.


Antwoord 1, autoriteit 100%

U moet de open modus voor toevoegen specificeren, zoals

#include <fstream>
int main() {  
  std::ofstream outfile;
  outfile.open("test.txt", std::ios_base::app); // append instead of overwrite
  outfile << "Data"; 
  return 0;
}

Antwoord 2, autoriteit 4%

Ik gebruik deze code. Het zorgt ervoor dat het bestand wordt aangemaakt als het niet bestaat en voegt ook wat foutcontroles toe.

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;
}

Antwoord 3, autoriteit 3%

#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;
}

Antwoord 4

U kunt een fstreamgebruiken en deze openen met de vlag std::ios::app. Bekijk de onderstaande code en het zou je hoofd leeg moeten maken.

...
fstream f("filename.ext", f.out | f.app);
f << "any";
f << "text";
f << "written";
f << "wll";
f << "be append";
...

Meer informatie over de open modi vindt u hieren over fstreams hier.


Antwoord 5

Je zou het ook zo kunnen doen

#include <fstream>
int main(){   
std::ofstream ost {outputfile, std::ios_base::app};
ost.open(outputfile);
ost << "something you want to add to your outputfile";
ost.close();
return 0;
}

Antwoord 6

De onderstaande code zou moeten werken:

#include <fstream>
#include <string>
#include <iostream>
using namespace std;
int main()
{
    ofstream writer("filename.file-extension" , ios::app);
    if (!writer)
    {
        cout << "Error Opening File" << endl;
        return -1;
    }
    string info = ""; //insert your text to be appended here
    writer.append(info);
    writer << info << endl;
    writer.close;
    return 0;   
} 

Ik hoop dat dit je helpt 🙂

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Other episodes