Ir ao conteúdo

Problema com arquivo em C


ticano

Posts recomendados

Postado

ola pessoal, venho aqui pedir um help a vocês,

estrou um com probleminha para gravar um arquivo q esta em modo texto em uma estrutura, o arquivo a qual me refiro é uma lista com os ceps, ruas, bairro, cidade, uf. os ceps sao todos aqui da minha cidade - Curitiba.

o arquivo tem a seguinte formatação:

81050360;PR;CURITIBA;NOVO MUNDO;RUA ABELMIDIO JOSE DE OLIVEIRA

para cada como desse - q esta antes da virgula preciso grava essa informaçºao em uma estruct... mas isso tem me quebrado a cabeça.

pensei em usar fgets q pega a linha inteira, mas depois nao consegui tratar para tirar a informação q queria - cep, cidadem rua....., q estão antes do ";"

se alguem tiver uma dica de como posso fazer isso agradeço muito.

abraço

obs: o arquivo foi pego na internet em modo texto ,ja q niguem é loco de digitar todos os ceps de uma cidade e criar um arquivo binario , q seria bem mais fácil de manipular.

Postado

Olá, tente ler caracter a caracter, até chegar nos ";".

Por exemplo, para ler a primeira palavra(no caso o cep). Agora nao lembro se no caso do cep(numeros) você tem q converter os dados pra gravar num vet de char. De qualquer maneira, a ideia é essa




char ch,cep[8];
int i=0;

while(ch=getc(fptr) != ';'){
cep[i++]=ch; //caso necessario, converta p/ char, ou arrume da maneira que fique melhor pra você

}

//Aqui você joga o cep[] na variavel cep da estrutura



Ai você ajeita para fazer isso continuamente até o fim das linhas '\n' e tb até o fim do arquivo.

  • 4 semanas depois...
Postado

Oi pesoal :)

Estou tentando criar um código para carregar uma imagem no formato .raw para dentro de uma matriz bidimensional de inteiros e depois armazená-la em outro arquivo de mesmo formato. No código abaixo consta o que eu fiz para carregar o arquivo. No entanto não está funcionando. Alguém poderia me ajudar ?

Obrigado.

/* LER ARQUIVO */

#include <stdio.h>

#include <stdlib.h>

#define LINHA 246

#define COLUNA 211

int main(void)

{

/* DECLARA€ÇO DAS VARIµVEIS */

FILE *fp;

char fname[128];

int imgin[LINHA][COLUNA];

int i, j;

/* OBTEM O NOME DO ARQUIVO */

printf("Enter filename: ");

gets(fname);

/* ABRE O ARQUIVO */

if((fp=fopen(fname, "rb"))==NULL) {

printf("Arquivo Não pode ser aberto.\n");

exit(1);

}

/* ARMAZENA ARQUIVO */

while(!feof(fp))

{

for(i=0; i<= LINHA; i++)

for(j=0; j<=COLUNA; j++)

imgin[j] = fgetc(fp);

}

/* IMPRIME ARQUIVO */

for(i=0;i<= LINHA;i++)

{

printf("\n");

for(j=0;j<= COLUNA;j++)

printf("%c ",imgin[j]);

}

/* FECHA O ARQUIVO */

fclose(fp);

return 0;

}

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades 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

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!