Bueno no se si al final es escribir o leer en el archivo
Te he construido un code de unos minutos,funciona bien,pero se puede hacer de otras maneras:
el do-while lo he puesto para poder usar la funcion break y salir del bucle,pero con el do-while se puede hacer todo eso,te lo deje en los comentarios del programa.
fichero leer.txt --> vamos todos
resultado en la consola: vs ts
otro ejemplo,aunque da un error,yo lo he visto por encima y no lo he visto,tendras que pillarlo:
Un saludo
Te he construido un code de unos minutos,funciona bien,pero se puede hacer de otras maneras:Código (c) [Seleccionar]
#include <stdio.h>
#include <stdlib.h>
void mostrar(){
FILE *fichero;
char *palabra;
do{
char *p[10];
palabra = (char *) malloc (20 * sizeof(char));
int j;
fichero = fopen("leer.txt","r");
fscanf(fichero,"%s",palabra);
setbuf(stdin,NULL);
j = sizeof(palabra);
p[0] = palabra;
printf ("%c",*p[0]);
p[1] = &palabra[j];
printf("%c",*p[1]);
fseek(fichero,1,SEEK_CUR);
if (feof(fichero)){
break;
}
fscanf(fichero,"%s",palabra);
setbuf(stdin,NULL);
j = sizeof(palabra);
p[2]= palabra;
printf(" ");
printf ("%c",*p[2]);
p[3] = &palabra[j];
printf("%c",*p[3]);
fseek(fichero,1,SEEK_CUR);
if (feof(fichero)){
break;
}
//esa es la idea principal,continua desde aqui
//tambien podrias definir una variable llamada x con un valor 0,hacer un do-while e ir aumentando el numero del punteroasi p[++x]
//pasaria de p[0] a p[1].
}while(1);
fclose(fichero);
}
int main(){
mostrar();
getchar();
return 0;
}el do-while lo he puesto para poder usar la funcion break y salir del bucle,pero con el do-while se puede hacer todo eso,te lo deje en los comentarios del programa.
fichero leer.txt --> vamos todos
resultado en la consola: vs ts
otro ejemplo,aunque da un error,yo lo he visto por encima y no lo he visto,tendras que pillarlo:
Código (c) [Seleccionar]
#include <stdio.h>
#include <stdlib.h>
void mostrar(){
FILE *fichero;
char *palabra;
char *p[10];
int x =0;
palabra = (char *) malloc (20 * sizeof(char));
int j;
fichero = fopen("leer.txt","r");
while (!feof(fichero)){
fscanf(fichero,"%s",palabra);
j = sizeof(palabra);
x++;
p[x] = palabra;
printf ("%c",*p[x]);
x++;
p[x] = &palabra[j];
printf("%c",*p[x]);
printf(" ");
fseek(fichero,1,SEEK_CUR);
fflush(fichero);
if (feof(fichero)){
break;
}
}
free(palabra);
fclose(fichero);
}
int main(){
mostrar();
getchar();
return 0;
}Un saludo
Intenta hacer algo asi,y si no te sale,te pego el codigo que acabo de hacer,ya que por lo menos lo has intentado...
Pues resulta que estoy viendo funciones de esta herramienta,pero tenia algunas dudas al establecer ciertas rutas:
Sera por las comillas... Hace poco que me inicie en batch,y estoy aprendiendo dos lenguajes a la vez... 