Ir ao conteúdo
  • Cadastre-se
zof

Ajuda com rotina para editar arquivo

Recommended Posts

Bom dia,

Estou tentando criar uma rotina em "C" para modificar um arquivo "TXT", porém meu conhecimento em "C" é limitado.

Bem então por que estou usando "C" e não outra linguagem digamos mai "fácil"?, é que estou fazendo isso em um AS400

e as ferramentas que tenho são "C" e "RPG", "RPG" não tenho a minima ideia de como é, "C" tenho (minimo, mas tenho) algum conhecimento.

A rotina até funciona, o problema é que na hora de gravar o parametro no arq. grava tudo estranho.

Abaixo estão o link de onde tirei os exemplos para adaptar o códiga, o comando usado, o código e o arquivo resultante (2ºlinha).

Se alguem puder me dar uma ajuda fico muito grato.

Abraço e grato pela ajuda e atençao de todos.

http://publib.boulder.ibm.com/infocenter/iadthelp/v7r0/index.jsp?topic=/com.ibm.etools.iseries.langref.doc/rzan5mst233.htm

CALL PGM(EDSON/TESTEA) PARM('PUT GOGZ/ALGABRP1X1 ALGABRP1X1.TXT')

*************** Beginning of data *************************

#include <stdio.h>

#include <stdlib.h>

#include <recio.h>

#include <xxfdbk.h>

int main(int argc,char *argv[]) {

_RFILE *in;

_XXOPFB_T *opfb;

_XXIOFB_T *iofb;

char *put = argv[1];

/* Open the file for processing in keyed sequence. */

/* File is created with the default access path. */

if ((in = _Ropen("EDSON/QCSRC(FTPTXT)", "rr+")) == NULL)

{

printf("Open failed\n");

exit(1);

};

opfb = _Ropnfbk ( in );

/* Update the first record in the keyed sequence.The function */

/* _Rlocate locks the record. */

_Rlocate(in, NULL, 0, __FIRST);

_Rlocate(in, NULL, 0, __NEXT);

_Rupdate(in, put , 50);

printf(put);

/* Force the end of data. ----------------------------------- */

_Rfeod(in);

_Rclose(in);

return 0;

}

****************** End of data ****************************

FMT ** ...+... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5

*************** Beginning of data *****************

0001.00 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

0002.00 ABRP1X1 ALGABRP1X1.TXT P1X1.TXT') o

0003.00 cccccccccccccccccccccccccccccccccccccccccccccccccc

****************** End of data ********************

Compartilhar este post


Link para o post
Compartilhar em outros sites

amigo acredito que eu posso te ajudar... mas na verdade n entendi o que você precisa... explica melhor... q tipo de texto se ta querendo gravar em um TXT?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa Tarde,

Cara na verdade estou querendo automatizar o envio de arquivos via ftp. Ai tenho que gravar a linha que tem o comando PUT para depois submeter o arquivo. o que eu estou querendo gravar é uma string do tipo:

"PUT GOGZ/ALGABRP1X1 ALGABRP1X1.TXT"

é isso...será que ainda ta confuso?...não sei se melhorou...

Grato pela ajuda...

Compartilhar este post


Link para o post
Compartilhar em outros sites

pra fica mais fácil faz o seguinte, me passa por email (fczanardo@hotmail.com) um arquivo com a entrada de dados (o arquivo q sera convertido) e o arquivo correto de saida (como ele teria que estar convertido na saida) que ai eu vejo o que consigo fazer

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×