Test Foro de elhacker.net SMF 2.1

Programación => Programación C/C++ => Mensaje iniciado por: Xedrox en 27 Diciembre 2012, 01:23 AM

Título: Guardar salto de linea completo en C en un archivo
Publicado por: Xedrox en 27 Diciembre 2012, 01:23 AM
Buenas gente, estoy tratando de guardar un salto de linea en un archivo con C, pero no puedo. Solo me queda el line feed (LF) y necesito el CR (carrier return) y el LF para que quede el salto completo. Este es el programa que estoy usando.


#include <stdio.h>


struct transaccion
{
       long long importe;
} trx;

void myfwrite(char * buffer, size_t bytes, FILE *fp)
{
    while(bytes)
        fputc(buffer[--bytes],fp);
}

int main()
{
    char campo1[5]="AAAA";
    char campo2[5]="XXXX";
    char salto='\n';
    trx.importe = 6938217;
   
    FILE *fp = fopen("Base.txt","ab");
   
    fprintf(fp,"%s",campo1);
    myfwrite((char*)&trx,sizeof(trx),fp);
    fprintf(fp,"%s",campo2);
   
    fputs(&salto,fp);
   
    fclose(fp);
    return 0;
}


Y el resultado que obtengo en el archivo (visto con el Notepad++):


AAAA[NUL][NUL][NUL][NUL][NUL]iÞiXXXX[LF]
XXXX


Necesito que quede asi:


AAAA[NUL][NUL][NUL][NUL][NUL]iÞiXXXX[CR][LF]


Muchas Gracias!

P.D. Alguien sabe porque me esta duplicando las "XXXX"? Solo estoy guardando una vez ese valor..
Título: Re: Guardar salto de linea completo en C en un archivo
Publicado por: rir3760 en 27 Diciembre 2012, 01:59 AM
Cita de: Xedrox en 27 Diciembre 2012, 01:23 AMAlguien sabe porque me esta duplicando las "XXXX"? Solo estoy guardando una vez ese valor..
Porque fputs espera una cadena y tu le pasas la direccion de un caracter.

Un saludo
Título: Re: Guardar salto de linea completo en C en un archivo
Publicado por: naderST en 27 Diciembre 2012, 02:17 AM
Usa fputc