je continue à courir dans un problème avec ce code en C++:C++ ne peut pas obtenir l'entrée d'utilisateur pour strtok
#include <stdio.h>
#include <string.h>
#include <iostream>
#include <string>
using namespace std;
int main()
{
string words[25];
int i = 0;
char * word;
cout << "Input a phrase, no capital letters please.";
char phrase[100] = "this is a phrase";
word = strtok (phrase, " ,.");
while (word != NULL)
{
i++;
words[i] = word;
cout << words[i] << " ";
word = strtok (NULL, " ,.-");
int g = 0;
}
cout << endl << endl;
int g = 0;
while (g < i)
{
g++;
char f = words[g].at(0);
if ((f == 'a') || (f == 'e') || (f == 'i') || (f == 'o') || (f == 'u') || (f == 'y'))
{
words[g].append("way");
cout << words[g] << " ";
}
else
{
words[g].erase (0,1);
cout << words[g] << f << "ay" << " ";
}
}
cout << endl;
system("PAUSE");
}
Je veux en fait mon utilisateur de programme pour générer la phrase à mettre en phrase char [100] mais je ne peux pas trouver la syntaxe appropriée pour initier une entrée sans foirer la traduction.
Il s'agit d'un programme qui traduit des phrases en latin BTW.
Quel est le plus petit bout de code cela va causer le problème? Veuillez le poster, afin que nous n'ayons pas à lire tout le programme. En d'autres termes, je pense que votre question est, "Comment puis-je lire l'entrée de l'utilisateur dans un tableau char en C++?" –
Si vous écrivez en C++ et que vous utilisez 'strtok', vous faites certainement quelque chose de mal. – pmr