![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|
|
#1
|
||||
|
||||
|
Cita:
[P.S.]He buscado buscando enlaces con la descripción de las clases std::string y std::istream pero no los encuentro por ninguna parte. ![]() Siento no ser más preciso con un ejemplo, pero no sabría hacerlo en C++ de memorieta y hacerlo en C implica el uso de punteros...
__________________
Proyectos actuales --> Allegro 5 Pascal ¡y Delphi! - BAScript - Multi Language Scriptable Development Environment |
|
#2
|
||||
|
||||
|
Ahí va un ejemplo
¡Qué demonios!
Código:
/* Cómo leer y buscar una palabra en un archivo. */
#include <malloc.h> /* Memoria dinámica. */
#include <stdlib.h>
#include <stdio.h> /* Para acceder a disco y escribir en pantalla. */
#include <string.h> /* Para manejar cadenas de caracteres. */
#define NOMBRE_ARCHIVO "archivo.txt"
#define PALABRA_A_BUSCAR "Yesica"
/* El programa empieza aquí. */
int main (void)
{
FILE *Archivo = NULL;
long TamannoArchivo = 0;
char *Datos = NULL, *Palabra = NULL;
long PosicionPalabra = 0;
/* Abrimos el archivo. */
Archivo = fopen (NOMBRE_ARCHIVO, "rb");
if (Archivo == NULL) {
/* Hubo un error. */
printf ("No pude abrir el archivo '%s'\n", NOMBRE_ARCHIVO);
return EXIT_FAILURE;
}
errno = 0; /* Ponemos el indicador de errores a "no hay error". */
/* Calcula el tamaño del archivo. */
fseek (Archivo, 0, SEEK_END); /* Vamos al final del archivo. */
TamannoArchivo = ftell (Archivo); /* Le preguntamos en qué octeto estamos. */
rewind (Archivo); /* Regresamos al principio del archivo. */
/* Comprobamos los errores. */
if (errno != 0) {
printf ("[%d] Error al analizar el archivo '%s'\n", errno, NOMBRE_ARCHIVO);
fclose (Archivo); /* No olvidar cerrarlo. */
return EXIT_FAILURE;
}
/* Reservamos espacio para almacenar los datos. */
Datos = (char*)malloc (TamannoArchivo, sizeof (char));
if (Datos = NULL) {
printf ("No pude reservar espacio para poder leer el archivo '%s'\n", NOMBRE_ARCHIVO);
fclose (Archivo); /* No olvidar cerrarlo. */
return EXIT_FAILURE;
}
/* Leemos el archivo. */
if (fread ((void*)Datos, sizeof (char), TamannoArchivo) != TamannoArchivo || errno != 0) {
printf ("[%d] Error al leer el archivo '%s'\n", errno, NOMBRE_ARCHIVO);
free (Datos); /* Liberar la memoria. */
fclose (Archivo); /* No olvidar cerrarlo. */
return EXIT_FAILURE;
}
/* Ahora ya podemos buscar la palabra. */
Palabra = strstr (Datos, PALABRA);
if (Palabra == NULL)
printf ("La palabra '%s' no se encuentra en el archivo '%s'\n", PALABRA, NOMBRE_ARCHIVO);
else {
/* Operación con punteros para saber dónde se encuentra la palabra. */
PosicionPalabra = (long)(Palabra - Datos);
printf ("La palabra '%s' se encuentra en el carácter número %ld del archivo %s\n", PALABRA, PosicionPalabra, NOMBRE_ARCHIVO);
}
/* Ahora, liberamos la memoria y cerramos el archivo. */
free (Datos);
fclose (Archivo);
/* Como no hubo errores, lo decimos. */
return EXIT_SUCCESS;
}
[edit]Creo que esta vez gané a Seoane, ¿no? ![]()
__________________
Proyectos actuales --> Allegro 5 Pascal ¡y Delphi! - BAScript - Multi Language Scriptable Development Environment Última edición por Ñuño Martínez fecha: 10-01-2007 a las 20:43:24. Razón: Asombro |
|
#3
|
|||
|
|||
|
Gracias
Gracias por las respuestas lo voy a intentar y les comento.Disculpen por no ser tan explicita, es que ando muy preocupada por este proyecto....
Última edición por Yssik fecha: 11-01-2007 a las 15:00:02. |
|
#4
|
|||
|
|||
|
Hola. no habia ingresado antes por un proble con internet, pero quiero agradecerle por su ayuda. ya realie el programa y funciona muy bien, use el codigo de roman con ciertos arreglos... Gracias....
![]() |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Leer un Archivo | newdelphi7 | Varios | 4 | 12-12-2006 14:54:33 |
| Leer un archivo (rss)xml en c++ | Maximiliano | C++ Builder | 1 | 14-07-2006 23:49:23 |
| problemas al leer archivo pdf | smendo | PHP | 0 | 21-07-2005 10:38:33 |
| leer de un archivo | javikanin | Varios | 3 | 23-11-2004 20:34:32 |
| Leer versión de un archivo ejecutable | FerPetrei | Windows | 2 | 16-01-2004 20:41:42 |
|