Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - naderST

#281
Código (cpp) [Seleccionar]

BOOL WINAPI CopyFile(
  __in  LPCTSTR lpExistingFileName,
  __in  LPCTSTR lpNewFileName,
  __in  BOOL bFailIfExists
);



  • El primer parámetro es el archivo de origen.
  • El segundo parámetro es el archivo destino.
  • El tercer parámetro si le pasas true no sobrescribirá el archivo destino si este existe, y si le pasas false creará el archivo destino sobrescribiendo el archivo si ya existe.

Ejemplo:


CopyFile("C:\\archivo.txt", "C:\\copia.txt", false);


PD: Recuerda que debes incluir la cabecera "windows.h".
#283
El primer error tienes que ponerle el tipo de dato a main (int) y el segundo error es en esta parte al parecer:

fprintf(stdprn, "<\f");

Sustituyelo por esto:

fprintf(stdprn, "%f");
#284
Por lo que veo esa clase tiene dos métodos que puedes usar para ello:

QString   toPlainText ()
QString   toHtml () const

http://doc.qt.nokia.com/latest/qtextedit.html#plainText-prop
http://doc.qt.nokia.com/latest/qtextedit.html#html-prop

No se si habrá otra manera, pero esto fue lo que vi en la página de QT.
#285
Parece estar bien, lo único que veo es que abres el archivo en modo lectura y deberías abrirlo en modo de escritura 'wb' o 'ab' te vendría mejor en tu caso para que no se borre el contenido del archivo.
#286
De nada, agrega justo después del fread lo siguiente:


buffer[tam] = '\0';


EDIT:
Al parecer no lo soluciona, no se porque muestra esos caracteres raros.

EDIT EDIT:

Solucioné leyendo el archivo de otra manera y funcionó bien aquí se los dejo:


#include <stdio.h>
#include <stdlib.h>

int tam_archivo(FILE * fstream){
    int tam;
    int pos_actual = ftell(fstream);

    fseek(fstream, 0, SEEK_END);
    tam = ftell(fstream);
    fseek(fstream, pos_actual, SEEK_SET);

    return tam;
}

int main()
{
    FILE * hFile = fopen("C:\\prueba.txt", "r");

    int tam = tam_archivo(hFile);
    int ntam = 0;

    while(1){
        if(tam != ntam){
            fseek(hFile, 0, SEEK_SET);
            system("cls");
            while(!feof(hFile)){
                char c = fgetc(hFile);

                if(c != EOF)
                    printf("%c", c);

            }
            ntam = tam;
        }

        tam = tam_archivo(hFile);
    }

    fclose(hFile);
    return 0;
}
#287

#include <stdio.h>
#include <stdlib.h>

int tam_archivo(FILE * fstream){
    int tam;
    int pos_actual = ftell(fstream);

    fseek(fstream, 0, SEEK_END);
    tam = ftell(fstream);
    fseek(fstream, pos_actual, SEEK_SET);

    return tam;
}

int main()
{
    FILE * hFile = fopen("C:\\prueba.txt", "r");

    int tam = tam_archivo(hFile);
    int ntam = 0;

    while(1){
        if(tam != ntam){
            char * buffer = (char*)malloc(tam);
            fseek(hFile, 0, SEEK_SET);
            fread(buffer, 1, tam, hFile);
            system("cls");
            printf("%s", buffer);
            free(buffer);
            ntam = tam;
        }

        tam = tam_archivo(hFile);
    }

    fclose(hFile);
    return 0;
}
#288
Programación C/C++ / Re: Dar vuelta un string
27 Julio 2011, 18:37 PM
Pero a la final es un puntero a una cadena osea a un arreglo de caracteres. No es cuestión de querer o no usar un arreglo, las cadenas son arreglos quieras o no.
#289
Programación C/C++ / Re: Dar vuelta un string
27 Julio 2011, 04:39 AM
Una string no es mas que un arreglo de caracteres, entonces supongamos que tenemos la variable cadena que es un string y esta contiene Hola tenemos que el arreglo sería así:

cadena[0] = 'H';
cadena[1] = 'o';
cadena[2] = 'l';
cadena[3] = 'a';
cadena[4] = '\0';

Por lo tanto no es mas que hacer un for desde 0 a 3 (strlen(cadena)-1).
#290
Te recomiendo que leas mas sobre punteros, con respecto a #define fíjate que estas poniendo ';' al final y ahí no lleva ';'