sábado, 23 de mayo de 2015

21 - Tutorial de C++ en español - stdio (Escribir ficheros)




En este capítulo del tutorial de C++ utilizaremos la librería stdio para escribir ficheros y veremos las diferencias entre los modos w y a de escritura.

Modo w: trunca a longitud cero o crea un fichero de texto para escribir
Modo a: añade, abre o crea un fichero de texto para escribir al final

En el ejemplo crearemos una función llamada init() que permitirá al usuario incluir la opción de si quiere continuar en el programa para agregar una nueva línea al fichero o de lo contrario prefiere salir del programa.

stdio-escritura.cpp


#include <iostream>
#include <stdio.h>
#include <string>

using namespace std;

/*
Modo w: trunca a longitud cero o crea un fichero de texto para escribir
Modo a: añade, abre o crea un fichero de texto para escribir al final
*/

void init()
{
 FILE * archivo;
 archivo = fopen("archivo.txt", "a");
 char linea[255];
 cout << "Escribe: ";
 cin.getline(linea, sizeof(linea));
 strcat(linea, "\n");
 fputs(linea, archivo);
 fclose(archivo);
 cout << "Quieres escribir? opciones si-no: ";
 string opcion;
 getline(cin, opcion);
 if (opcion == "si") init();
}

int main(int argc, char *argv[])
{

 cout << "Quieres escribir? opciones si-no: ";
 string opcion;
 getline(cin, opcion);
 if (opcion == "si") init();

 system("PAUSE");
 return 0;
}