elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


  Mostrar Mensajes
Páginas: 1 2 3 4 5 6 7 [8] 9
71  Programación / Programación C/C++ / Re: Cambiar coma por punto en un archivo .txt en: 16 Mayo 2016, 17:02 pm
Muchas gracias, creo que el error entonces seria que use el "r+". saludos.


Buenas, si he entendido bien lo que quieres es leer el contenido del archivo y sustituir su contenido por el mismo pero cambiando solo las comas por puntos.

Con el código de MAFUS debería bastar, porque el fputc() sobreescribe el valor que se encuentra en esa posición. Cada fgetc() mueve el puntero una posición adelante para continuar leyendo, cuando encuentras una ',' usas fseek(archivo, -1, SEEK_CUR) para que vuelva atrás y no pase al siguiente caracter y entonces con fputc('.',archivo), escribes '.' en la posición de la ',' por lo que quedaría sobreescrita.

Si es un fichero de texto entonces no lo abras como binario usa "rt" en vez de "r+".

Un saludo.

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. void main (void) {
  5. FILE *archivo;
  6. int c;
  7.  
  8. archivo=fopen("varx.txt","rt");
  9. c=fgetc(archivo);
  10. while (c != EOF) {
  11. if (c==',') {
  12.               fseek(archivo, -1, SEEK_CUR);
  13.               fputc('.', archivo);
  14. }
  15. c=fgetc(archivo);
  16. }
  17. fclose(archivo);
  18. }
  19.  



tampoco me anda   :( :( :( :(

Muchas gracias, creo que el error entonces seria que use el "r+". saludos.


72  Programación / Programación C/C++ / Re: Cambiar coma por punto en un archivo .txt en: 16 Mayo 2016, 14:49 pm
cambiar la coma por el punto.

¿Cual se supone que es la diferencia despues de modificar el archivo?


73  Programación / Programación C/C++ / Re: Cambiar coma por punto en un archivo .txt en: 16 Mayo 2016, 00:45 am
No logro poder modificarlo.
74  Programación / Programación C/C++ / Cambiar coma por punto en un archivo .txt en: 16 Mayo 2016, 00:11 am
Hola como bien dice el titulo, tengo un archivo .txt así:
45,678
67,890

y yo quiero que queden así:
45.678
67.890

mi idea es, aprovechando que se que el caracter 8 en ascii es retroceso , el 44 la coma y el 46 el punto hacer esta función:
Código:
#include <stdio.h>
#include <stdlib.h>

void main (void) {
FILE *archivo;
int c;

archivo=fopen("varx.txt","r+");
c=fgetc(archivo);
while (c != EOF) {
if (c==44) {
fputc(8,archivo);
fputc(46,archivo);
}
c=fgetc(archivo);
}
fclose(archivo);
}

el problema es que el archivo no se modifica, si alguien sabe que es lo que esta mal en el código y me lo dice me serviría de mucho, saludos.
75  Programación / Programación C/C++ / Re: Funciones adentro de otras con puntero en: 12 Mayo 2016, 15:58 pm
ahí corregí el código, me faltaba un paréntesis:

lo pude arreglar asiendo esto:

Código:
#include <stdio.h>

void funcion1(int *, int *,int *);
void funcion2(int *,int *,int *);

void main(void) {
int a=b=c=0;
funcion1(&a,&b,&c);
}



funcion1 (int *a,int *b, int *c) {
.
.
.
funcion2(&*a,&*b,&*c);
.
.
}


  
funcion2(int *a, int *b, int *c) {
.
.
.
}


pero no entiendo muy bien:

si yo quisiera escribir 2 printf en la función 1, después de haber invocado la función 2 ¿que diferencias hay entre los dos printf del codigo?

Código:
#include <stdio.h>

void funcion1(int *, int *,int *);
void funcion2(int *,int *,int *);

void main(void) {
int a=b=c=0;
funcion1(&a,&b,&c);
}

funcion1 (int *a,int *b, int *c) {
.
.
.
funcion2(&*a,& *b,& *c);
printf(" %d  %d  %d ",*a,*b,*c);
printf(" %d  %d  %d ",*(*a),*(*b),*(*c));
.
}

funcion2(int *a, int *b, int *c) {
.
.
.
}
76  Programación / Programación C/C++ / Re: escribir un archivo para después poder leerlo en matlab en: 12 Mayo 2016, 14:56 pm
sisi funciono perfecto, gracias.
77  Programación / Programación C/C++ / Funciones adentro de otras con puntero en: 12 Mayo 2016, 14:56 pm
Buenos días, como dice el titulo, hice un programa desde donde pasas la dirección de la variable como parámetros en una función, y dentro de esa función, los parámetros se van a usar de nuevo como  parámetros en otra función.

mi problema es que el compilador me dice que tiene un error y creo que es por la sintaxis:

acá va un ejemplo de la sintaxis:

Código:
#include <stdio.h>

void funcion1(int *, int *,int *);
void funcion2(int *,int *,int *);

void main(void) {
int a=b=c=0;
funcion1(&a,&b,&c);
}

funcion1 (int *a,int *b, int *c) {
.
.
.
funcion2(*a,*b,*c);
.
.
}

funcion2(int *a, int *b, int *c) {
.
.
.
}

saludos y gracias.
78  Programación / Programación C/C++ / Re: escribir un archivo para después poder leerlo en matlab en: 11 Mayo 2016, 18:14 pm
muchísimas gracias... otra cosa:
me podrías explicar estas lineas de código, no las entiendo:

Código:
int main ( int argc, char **argv )



Hola estas escribiendo los datos en formato raw o binario oo cual es bueno cuando lo lees desde otro programa igual. pero no recuerdo si matlab necesira los numeros en formato ascii.. esto es el numero como cadena 10.527388  y demas.

Para hacer esto debes de cambiar el fwrite por fprintf y imprimirlos de uno en uno dentro del ciclo donde creas los numeros y mas o menos asi

Código
  1. fprintf(fichero,"%f\n",x);
En dado caso ya no necesitarias el arreglo ademas de abrir el archivo antes de que empieze el ciclo.
79  Programación / Programación C/C++ / escribir un archivo para después poder leerlo en matlab en: 11 Mayo 2016, 05:22 am
Hola como dice el titulo, lo que quiero hacer es escribir un archivo  .txt o .dat con números  los números que se escriben en el archivo se sacan de un arreglo previamente cargado, el problema es que no se si mi archivo esta escribiendo bien los datos porque matlab no me lo abre.

a continuación mi código:

Código:
#include <stdio.h>
#include <math.h>
#define PI   3.141592653589
void archivo_matlab(float,float,float,float,float);

void main (void) {
archivo_matlab(1,2,3,4,5);
}

void archivo_matlab(float A,float a,float h,float B,float b) {
float arre1[151],t=0,x=0,y=0;
int i=0;
FILE *fichero;
while (t<=2*PI){
x=A*sin(a*t+h);
arre1[i]=x;
t=t+PI/75;
i++;
}
fichero=fopen("datos1.dat","w");
fwrite(arre1,sizeof(float),151,fichero);
fclose(fichero);
}


80  Programación / Programación C/C++ / Función predefinida fechas en: 20 Abril 2016, 05:41 am
Hola, hice un código para contar los días que hay entre dos fechas, pero creo que no es tan eficiente. mi duda es si hay alguna función predefinida para sumar restar o trabajar con fechas. Gracias y saludos.
Páginas: 1 2 3 4 5 6 7 [8] 9
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines