crear .txt o guadar cadenas en .txt

Iniciado por linux1, 5 Octubre 2010, 20:49 PM

0 Miembros y 1 Visitante están viendo este tema.

linux1

hola como andan...

tengo una duda quisiera saber como podria guardar una cadena "char" en un archivo de texto plano ".txt" digamos que quiero hacer un programa que te permita teclar un texto y guardar ese texto en un archivo
digamos algo como un bloc de notas bajo ms-dos

ya que busque en google y no encontre mucha info o no muy clara para mi idea que tengo.



Akai

Esto... en C si mal no recuerdo fopen creaba el fichero si no existía, por tanto, únicamente necesitarías crear dicho fichero, y con fprintf guardar ahí la cadena que hayas leído.

Más o menos la estructura del programa sería:

Abrir fichero --> pedir cadena --> imprimir cadena en fichero --> cerrar fichero.

WestOn

#2
Buenas, te pongo un breve ejemplo:

#include <stdio.h>
main(){
  FILE *pf;
  pf = fopen("Tuarchivo", "w"); //abre archivo, si no existe lo crea y si existe su contenido se destruye
  if (pf == NULL){
     printf("El fichero no se puede abrir");
     exit(1); }
//codigo......
fclose(pf);
}


A parte de "w" exiten:
r: Abre un fichero para leer, si el fichero no se encuentra o no existe devuelve un error.
a: Añade información al final del archivo, si no existe se crea.
r+: Abre fichero para leer y escribir, el fichero debe existir.
w+: Igual que "w" pero el fichero también puede ser leido.
a+: Igual que "a"pero también puede ser leido.

Suerte ;)

PD: ¿Lo programas para linux o para windows? (lo digo por tu nick).
Por cierto, si hay ejemplos el google y en el foro más  :rolleyes:
En mi cabeza existe una barrera espacio-tiempo de 4cm³. ¿Alguien sabe como eliminarla?.
                                                                                                                                                                                                                            

glas

Hola, mira este programa es bien simple, y para poder aprender solo debes investigar un poco lo que hace cada sentencia, el programa abre y solo lee el archivo llamado texto.txt, saludos. ::)

Código (cpp) [Seleccionar]

#include<stdio.h>

main()

{

         char c;

           int contc,contl,contesp,contpal;//contadores

           int e=0;

           FILE *ft;

           contc=contl=contesp=contpal=0;

           ft=fopen("texto.txt","rt"); //abre un archivo ya existente llamado texto.txt en la misma carpeta del programa, rt= solo lectura.

           while((c=fgetc(ft))!=EOF)

           {

                putchar(c);

                contc++; //cuenta caracteres

                if(c==' ')contesp++; //cuenta espacios

                if(c=='\n')contl++;  //cuenta lineas

                if(c==' ' || c=='\n')contpal++;  //cuenta palabras

             

                       

           }

           fclose(ft);

           printf("\n");

           printf(" cantidad de caracteres = %d\n",contc);

           printf(" cantidad de espacios = %d\n",contesp);

           printf(" cantidad de lineas = %d\n",contl);

           printf(" cantidad de palabras = %d\n",contpal);

           

           printf("   Fin de programa ... Enter");

           getchar();

           return 0;

           

}
Ser bueno hoy en día es ser tomado por bobo, ser justo... por imbécil, tener moral y honor... es ser retrógrada... y tener compasión es tan solo de débiles. Pero entonces que le voy a hacer si resulta que soy: Bobo, Imbécil, Retrograda y Débil... es que casi lo prefiero, lo contrario sería haber caído en un individualismo estúpido que no lleva a más que la soledad.

xassiz~

#include<stdio.h>

int main()
{
    char cadena[8] = "pablomi";
   
    FILE *archivo = fopen("archivo.txt", "w");
    fprintf(archivo, cadena);
    fclose(archivo);
   
    return 0;
}

Saludos

linux1

gracias a todos  ;D

dejen analizo y investigo y talves luego posteare mi bloc de notas aqui para que lo baje jejeje
saludos y gracias

creo que mas bien el problema fue que no sabia que el comando fopen tambien podia crear el fichero...



fary

Aunque ya se soluciono creo que no esta de mas dejar un enlace a un tuto de como escribir archivos en c:

http://www.elrincondelc.com/cursoc/cursoc20.html

salu2!
Un byte a la izquierda.

do-while

¡Buenas!

A parte de todo lo que han dicho el resto de los compañeros, aqui te dejo un enlace en el que encontraras toda la libreria esrandar. En stdio.h encontraras todas las funciones de entrada y salida. No tengas miedo de experimentar con ellas. Trasteando se aprende.

http://c.conclase.net/librerias/index.php

¡saludos!
- Doctor, confundo los números y los colores.
- Vaya marrón.
- ¿Marrón? ¡Por el culo te la hinco!

linux1

Cita de: do-while en  8 Octubre 2010, 23:38 PM
¡Buenas!

A parte de todo lo que han dicho el resto de los compañeros, aqui te dejo un enlace en el que encontraras toda la libreria esrandar. En stdio.h encontraras todas las funciones de entrada y salida. No tengas miedo de experimentar con ellas. Trasteando se aprende.

http://c.conclase.net/librerias/index.php

¡saludos!
hola amigo gracias pero llevo como medio año sin poder acceder a la web conclase.net ni a ninguno de sus subdominios "c.conclase.net" ya probe con una mac y safari con chrome, explorer y mozilla y tampoco me dicen que no se puede establecer la conexion?

nunca habia visitado esa web. pero cuando supe que era de programacion intente y nada ya hasta formate mi pc y nada.



do-while

¡Buenas!

Bueno, no hay problema, en este enlace tambien te viene una lista de las funciones de stdio.h. Leete la descripcion completa para tener una idea general, y luego, como te he dicho antes, experimenta con cada una de las funciones para tener una idea de como funcionan y que provecho les puedes sacar segun lo que te haga falta.

¡Saludos!
- Doctor, confundo los números y los colores.
- Vaya marrón.
- ¿Marrón? ¡Por el culo te la hinco!