Probleme ASCII et coonversion string vers char (enfin je pense)

Leptis Messages postés 17 Date d'inscription mardi 27 septembre 2005 Statut Membre Dernière intervention 26 juillet 2007 - 24 févr. 2006 à 04:21
DeAtHCrAsH Messages postés 2670 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 6 février 2013 - 24 févr. 2006 à 09:30
Salut a tous les pgm qu'il y a sur ce site. Avant tout je tien à vous prévenir que je suis en gros newbie en C.
Voila mon problème : je cherche à faire un prog qui tapera au clavier les différents mot présents dans un fichier texte.
Voila la source :

#include <string.h>
#include
#include <windows.h>

#include <fstream.h>
#include <stdlib.h>

using namespace std;
void fonction(int variCharASCII)
{


keybd_event(variCharASCII,0x20,0,0);
keybd_event(variCharASCII,0x20,KEYEVENTF_KEYUP,0);
Sleep(1);
return;
}

int main()
{




ifstream fichier;
fichier.open("C:\\fichier.txt");

string slt;

while(fichier >> slt){
int tailleDuMot = slt.length();
for(int b=0;b!=tailleDuTruc;b++)
{
string letre = slt.substr(b,1);
cout << letre << "\n";

}

voila on se situe le problème : maintenant que j'ai récuperer la lettre dans un string il me faudrait le convertir en ASCII mais la je galère j'ai regardé plusieur topic qui parle de sa mais j'y comprend rien Help Me PLIZZZ


system("pause");
}
fichier.close();






}

3 réponses

zaibacker Messages postés 97 Date d'inscription vendredi 17 février 2006 Statut Membre Dernière intervention 24 janvier 2018
24 févr. 2006 à 08:57
Salut,je pense que le cout reconnait le type que tu lui as passé,il sait que cest une string donc il va tafficher une string,essai le simple printf("%d",lettre); après avoir déclarer lettre en char vu que tu ne récupères qu'un seul octet je pense que cest inutile de le déclarer en string.
0
DeAtHCrAsH Messages postés 2670 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 6 février 2013
24 févr. 2006 à 09:11
Donne un nom explicite a ta fonction!
Fonction n'est pas un nom a donner à une fonction!

Sinon tu souhaites faire ca en C Standard ou en C++ ??

Shell

P.S : Pour convertir un string en char * -> stl.c_str();
0
DeAtHCrAsH Messages postés 2670 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 6 février 2013
24 févr. 2006 à 09:30
Voici un exemple que ne je n'ai pas testé.
Tu peux toujours t'en inspiré, il est en C Standard, mis à par l'utilisation de l'API Sleep pour mettre des pauses entre chaque charactère :

int main(int argc, char *argv[])
{
char c;
FILE * fp;

fp = fopen("C:\\MonFichier.txt","r+t");

if(!fp)
{
printf("Le fichier n'a pas pu etre ouvert!\n\n");
return -1;
}

while(!feof(fp))
{
c = fgetc(fp);
printf("%c", c);
Sleep(20);
}

fclose(fp);

return 0;
}

Ce code n'est pas du tout optimisé du fait qui fasse une lecture charactère par charactère.
Si le fichier est gros, ca risque de ramer méchant.
Néanmoins, je ne pense pas que les fichiers soit vraiment gros dans ton cas.
A toi d'adapter en conséquence.

Shell
0
Rejoignez-nous