#include #include #include #include #include #include #include #define MAX 1000 int gettexto(char *buf, int bufsize) { int nchars; nchars=read(STDIN_FILENO, buf, bufsize); return nchars; } void parsestring(char* input, char* output[]) { int i = -1, contador = 0, cont = 0; char palabra[100]; char* ptr = palabra; do { ++i; if (!isblank(input[i]) && input[i] != '\0') { ptr[contador] = input[i]; contador++; } else { if(contador != 0) { ptr[contador] = '\0'; output[cont] = (char*)malloc((contador+1)*sizeof(char)); strcpy(output[cont], palabra); contador = 0; cont++; } } } while (input[i] != '\0'); output[cont] = "0"; } int main(int argc,char *argv[]) { int contador =0; char linea[MAX]; gettexto(linea,MAX); parsestring(linea,argv); for(contador; argv[contador] != "0"; contador++) { printf("%s\n", argv[contador]); } return 0; }