2010-03-06 26 views

Respuesta

184
#include <fstream> 

int main() { 
    std::ofstream outfile; 

    outfile.open("test.txt", std::ios_base::app); 
    outfile << "Data"; 
    return 0; 
} 
+9

No es necesario cerrar el archivo manualmente, tal como lo hace en la destrucción. Ver http://stackoverflow.com/questions/748014/. Además, no se está utilizando en el ejemplo. – swalog

+5

Puede usar la aplicación ios :: en lugar de ios_base :: app –

+3

Puede usar 'std :: ofstream :: out | std :: ofstream :: app' en lugar de 'std :: ios_base :: app'? http://www.cplusplus.com/reference/fstream/ofstream/open/ – Volomike

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

} 
+16

Esta es la forma C, no C++. –

+3

@ Dženan. C es un subconjunto de C++ y no invalida este enfoque. – Osaid

+4

@O dicho simplemente lo hace redundante ... – arman

5

utilizo este código. Se asegura de que el archivo se crea si no existe y también agrega un poco de verificación de errores.

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