Enviado em 26/11/2008 - 13:56h
Pessoal, tenho um arquivo já com dados e o que eu vou precisar alterar esta sempre no final dele, estou tentando fazer isso com o fseek, mas não esta dando certo, meu código está assim:
Código:
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
FILE *fpArquivo;
fpArquivo = fopen("teste.txt", "at");
if(fpArquivo == NULL)
{
printf("ERRO");
}
fseek(fpArquivo, -4, SEEK_END);
fputs("J",fpArquivo);
fclose(fpArquivo);
system("PAUSE");
return 0;
}
Por exemplo, um arquivo com o conteúdo "ABCDEF", ficou "ABCDEFJ", mas eu gostaria que fosse "ABJDEF"
Esse programa está sempre colocando o caracter no final do arquivo, depois do último caracter, não está voltando as 4 posições que eu coloquei no fseek.
Por que? O que esta de errado? O que eu tenho que fazer para que ele volte as posições e escreva na posição correta?
Grato,
Danilo
Código:
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
FILE *fpArquivo;
fpArquivo = fopen("teste.txt", "at");
if(fpArquivo == NULL)
{
printf("ERRO");
}
fseek(fpArquivo, -4, SEEK_END);
fputs("J",fpArquivo);
fclose(fpArquivo);
system("PAUSE");
return 0;
}
Por exemplo, um arquivo com o conteúdo "ABCDEF", ficou "ABCDEFJ", mas eu gostaria que fosse "ABJDEF"
Esse programa está sempre colocando o caracter no final do arquivo, depois do último caracter, não está voltando as 4 posições que eu coloquei no fseek.
Por que? O que esta de errado? O que eu tenho que fazer para que ele volte as posições e escreva na posição correta?
Grato,
Danilo