Buscar

Split em Linguagem C, Quebra uma Frase(string) em Palavras(Substrings), dados os Delimitadores

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

main.cpp
/* 
 * File: main.cpp
 * Author: joao
 *
 * Created on 31 de Março de 2016, 23:10
 */
#include <cstdlib>
#include <stdio.h>
#include <string.h>
using namespace std;
/*
 * 
 */
/* splitLine By Joao Andre martins copyleft C 20016
 * void splitLine(char[],char[],char[][],*int)
 * line =(linha original que se deseja quebrar em substrings
 * tokens =(caracteres delimitadores das subsstrings
 * auxStr[20][30] vetor de strings, contem as substrings
 * tl =tamanho lógico do vetor de substrings, (numero de palavras)
 */
void splitLine(char line[], char tokens[], char auxStr[20][30], int *tl) {
 char lineCpy[strlen(line)],*lineAux,*strBroke;
 int cont = 0;
 strcpy(lineCpy,line);
 lineAux= lineCpy;
 strBroke = strtok(lineAux, tokens);
 while (strBroke != NULL) {
 strcpy(auxStr[cont++], strBroke);
 strBroke = strtok(NULL, tokens);
 }
 *tl = cont;
}
int main(int argc, char** argv) {
 char frase[60];
 char tokens[20];
 char palavras[20][30];
 int tl=0;
 printf("Digite umna frase:\n");
 gets(frase);
 printf("\nDigite o(s) caracteres delimitadores:");
 gets(tokens);
 splitLine(frase,tokens,palavras,&tl);
 for(int i=0;i<tl;i++){
 printf("Palavra n[%d],[%s]\n",i,palavras[i]);
 }
}

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Continue navegando