Voila !
Il y a juste un problème :
Cela dépend de ton IDE. J'ai essayé de compiler en C avec Dev-Cpp, il m'a dit qu'il ne trouvait pas cette librairie. Essaye avec ton IDE. En attendant je cherche (encore) une solution.
Petite chose à noter : j'ai utilisé sprintf(); Certains râleront que je l'aie utilisé, mais alors qu'ils m'expliquent parce que je n'ai jamais trouvé pourquoi c'était déconseillé. Tant que ca fonctionne.
#include <stdio.h>
#include <stdlib.h>
#include <iostream>
#include <cstring>
#include <string>
using namespace std;
int main(){
char *cstr, *p;
string phrase; // C'est ta phrase ! Vide ou non
char chaine_entree [30] = ""; // Ce sera ta chaîne
int already_started = 0; // Sert à savoir si on doit insérer un espace ou non (pas important pour toi)
printf("Entrez une phrase, avec espaces ou non, vide ou pas : ");
getline(cin, phrase); // On demande à l'utilisateur d'entrer quelque chose ou rien
// Conversion de string en chaîne
cstr = new char [phrase.size()+1];
strcpy(cstr, phrase.c_str());
p=strtok(cstr," ");
while(p!=NULL){
if(already_started){
sprintf(chaine_entree, "%s %s", chaine_entree, p);
}
else{
sprintf(chaine_entree, "%s", p);
}
p=strtok(NULL," ");
already_started = 1;
}
delete[] cstr;
// Fin de traitement
printf("\nLa chaine finale est : %s\n\n", chaine_entree);
if(strcmp(chaine_entree, "")){ // La chaîne n'est pas vide
printf("La chaine n'est pas vide !\n\n");
}
else{
printf("La chaine est vide !\n\n");
}
system("pause");
return 0;
}
Dis-moi quoi :)