Ir ao conteúdo
  • Cadastre-se

Ler arquivo de entrada ignorando os espaços iniciais em C


rs.fran

Posts recomendados

Oi gente, estou desenvolvendo um trabalho da faculdade e preciso ler uma base de dados TSPLIB, para o problema do caixeiro viajante. A base segue o modelo:

http://www.dcs.gla.ac.uk/~pat/af2009/tspDemo/a280.tsp

Como posso ler esses inteiros ignorando os espaços iniciais? Exemplo, a primeira linha é:

" 1 288 149".

Eu sei como fazer isso para um número fixo de espaços, com dois espaços, por exemplo, eu poderia fazer "  %d", porém a entrada terá espaços variáveis.. sendo que um número de 1 dígito tem 2 espaços na frente, um de 2 dígitos tem 1 espaço, e um de 3 dígitos não tem espaço nenhum. Como faço isso?

Obrigada
Link para o comentário
Compartilhar em outros sites

Não sei se entendi mas seria algo assim:
#include <stdio.h>#include <string.h>#include <stdlib.h>int main(){	char cpf[10];	int converte[10],tam,i,j=0;	gets(cpf);	tam=strlen(cpf);	printf("string %s",cpf);	for(i=0;i<tam;++i){		if(!isspace(cpf[i]))			converte[j++]=cpf[i]-48;			}	converte[j]='\0';	for(i=0;i<j;++i){		printf("convertido %d ",converte[i]);		}}

Caso for leitura de arquivo é só usar o fscanf() ao invés do gets();

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber 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...