#  > Desenvolvimento >  > Linguagens de Programação >  >  Como separar uma String dividida por espacos em C ???

## Rurouni_Kenshin

Eu tenho uma String (char) com várias palavras, todas separadas por um ou mais espacos.
Como faço para colocar cada uma dessas palavras em uma variavel diferente ou um vetor ???

Ex:
String : get servidor arquivo arqlocal opcao teste

Gostaria que ficasse assim :
pcomando = get
pservidor = servidor
parquivo = arquivo
parqlocal = arqlocal
popcao = opcao
pcomplemento = teste

ou assim:
vetor[0] = get
vetor[1] = servidor
vetor[2] = arquivo
.........etc.

Atenciosamente,

Marcelo.

----------


## SDM

Opa, eu tbm ja quis fazer isso, da uma olhada nesses links:

https://under-linux.org/modules.php?...ewtopic&t=7805
http://sourceforge.net/projects/libstrfunc/

se eu nao me engano nesse segundo tem uma lib q tem a funcao explode();
da uma olhada e ve se vc consegue usar esse material melhor q eu....pq eu num consigui direito nao....  :Embarrassment: ops:

----------


## xstefanox

Concatena tudo depois...
Ou então usa estrutura de dados...


Abraços

----------


## RaZzi

VC tem varios geito para fazer isto!!!
Pode criar um laço contando variavel por variavel...
e se ela for igual a espaço ela passa para outro vetor...
um ex!!!
***************************************************
char var[20];
char vet[10][20];
int i,x=0;


for(i=0;i<20;i++){

if(var[i]== '\0') x++;

vet[x][i] = var[i];
}
******************************************************

----------


## 1c3m4n

tem uma funcao em c q eh a *isspace*, vc pode usar ela o loop como o amigo disse no outro post[/b]

----------


## sergioluis

de uma olhada na strtok, da string.h

----------


## Bogdano

É bom tomar cuidado ao usar strok, pois ela não tem 'contextos de execução', logo, não use-a se você quer chama-la dentro de procedimentos que podem ser recursivos (como em um shell, que divide os comandos por ponto e vírgula e depois por espaços).

----------

