Ir para conteúdo

POWERED BY:

Arquivado

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

MatheusSilva

ler cadeia de caracteres com varias linhas

Recommended Posts

ola pessoal, gostaria de saber como faço pra percorrer essa cadeia de caracteres para encontrar um determinado caractere.

 

Eu posso ler o valor total de cada linha(sei que no max cada linha terá 1000 caracteres) e fazer um for? mas claro, antes disso estou armazenando essa cadeia em um vetor

 

 

for(i=0;i<1000;i++){
 if(vetor[i] == "caractere que eu procuro")
.
.
.
}
 
 

 

obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

mas só que fiquei com uma duvida, o que vai ser de entrada serao varias linhas e em cada linha haverá no maximo 1000 caracteres, entao ta certo se eu fizer a coisa toda ser inserida em um vetor de 1000 posições?

 

vou dar um exemplo:

entrada:

 

 

License Validation Service
Copyright 2008  Hugo Dworak and Creative Commons

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.
Download the Corresponding Source of this program by visiting the project's gitweb and downloading a snapshot.

FIM
 

 

Ai eu passo diretamente isso pra um vetor de 1000 posiçoes?

 

 

 

Outra pergunta:

Preciso procurar por pontuações e letras com acento, fiz dessa forma:

 

resultAcentos = strcmp([vetor[i], "a");
 
if(resultAcentos > = 1){
            vetor[i] = lixo;
        }
 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mesmo que vc saiba que cada linha vai ter no máximo 1000 posições, ainda existe o problema de vc acessar algo além do tamanho do objeto. Por exemplo: a string é "pato" (com um '\0' no final) e vc acaba acessando a posição 10, digamos.

 

Você pode alocar o tal vetor estaticamente (char v[1000]), mas recomendo que use um for limitado ao tamanho do dado no array (e não a 1000 posições sempre):

 

 

for(int i=0; i < strlen(v); i++) {}

 

Quanto aos acentos e pontuação, eu usaria expressões regulares (http://www.cs.utah.edu/dept/old/texinfo/regex/regex.html), mas creio que dê p/ fazer usando isalpha e ispunct (não tenho certeza devido ao ASCII vs UTF-8 e não tenho compilador aqui no momento).

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.