ASCII étendu ANSI [Résolu]

cs_Joky 1791 Messages postés lundi 22 novembre 2004Date d'inscription 31 janvier 2009 Dernière intervention - 3 août 2005 à 20:08 - Dernière réponse : magic_Nono 1878 Messages postés jeudi 16 octobre 2003Date d'inscription 16 mars 2011 Dernière intervention
- 4 août 2005 à 17:13
Hep hep hep

Salut les gens ;)



En faite, j'voudrais générer des caractères spéciaux genre ©, mais pas que des spéciaux des normaux aussi lol



Donc j'ai tester ça :

char Buff[16+1];

unsigned char Lettre = 0;

for(int i=0;i<256; i++)

{

Lettre = i;

wsprintf(Buff, "%i : %c", i, Lettre);

}

Mais bon j'ai pas le © qui fait parti des caractères ASCII étendu ANSI



Donc ça serait sympa si on pourrait m'expliquer :)

void Aurevoir( void ); //Bonne journée
Afficher la suite 

Votre réponse

24 réponses

Meilleure réponse
BruNews 21054 Messages postés jeudi 23 janvier 2003Date d'inscription 7 novembre 2014 Dernière intervention - 3 août 2005 à 20:28
3
Merci
pour faire ton fichier:

char szbuff[2048];

int WINAPI WinMain(HINSTANCE, HINSTANCE, PSTR, int)
{
HANDLE hfile;
DWORD dwRead, i;
char *c = szbuff + GetModuleFileName(NULL, szbuff, MAX_PATH); while(*--c !'\\') *c 0;
strcpy(++c, "ChrAsc.txt");
hfile = CreateFile(szbuff, GENERIC_WRITE, 0, 0,
CREATE_ALWAYS, FILE_FLAG_SEQUENTIAL_SCAN, 0);
if(hfile == INVALID_HANDLE_VALUE) return 0;
i = 31; // dessous 32(espace) non imprimables, i preIncr dans boucle
c = szbuff;
while(++i < 256) { *c i; *(c+1) 9; // une tabulation entre le carac et son code ASCII
c = bnultoa(i, c+2); *c++ '\r'; *c++ '\n';
}
WriteFile(hfile, szbuff, c - szbuff, &dwRead, 0);
CloseHandle(hfile);
return 0;
}

ciao...
BruNews, MVP VC++

Merci BruNews 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 96 internautes ce mois-ci

Commenter la réponse de BruNews
Meilleure réponse
BruNews 21054 Messages postés jeudi 23 janvier 2003Date d'inscription 7 novembre 2014 Dernière intervention - 3 août 2005 à 20:43
3
Merci
__declspec(naked) char* __fastcall bnultoa(unsigned int dwnum, char* szdst){ // ECX dwnum, EDX szdst
__asm {
or ecx, ecx
jnz short L1
lea eax, [edx+1]
mov byte ptr[edx], 48
mov byte ptr[eax], cl
ret 0
L1:
mov [esp-4], edi
mov [esp-8], edx
mov edi, edx
L2:
mov eax, -858993459
mul ecx
mov eax, edx
shr eax, 3
mov edx, ecx
lea ecx, [eax+eax*8]
add ecx, eax
sub edx, ecx
add dl, 48
mov [edi], dl
mov ecx, eax
inc edi
test eax, eax
jnz short L2
mov byte ptr[edi], al
mov [esp-12], edi
mov eax, [esp-8]
L3:
dec edi
mov dl, [eax]
mov cl, [edi]
mov [edi], dl
mov [eax], cl
inc eax
cmp eax, edi
jb short L3
mov eax, [esp-12]
mov edi, [esp-4]
ret 0
}
}

ciao...
BruNews, MVP VC++

Merci BruNews 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 96 internautes ce mois-ci

Commenter la réponse de BruNews
BruNews 21054 Messages postés jeudi 23 janvier 2003Date d'inscription 7 novembre 2014 Dernière intervention - 3 août 2005 à 20:12
0
Merci
Dépend de la police qui affichera ton buffer.

ciao...
BruNews, MVP VC++
Commenter la réponse de BruNews
cs_Joky 1791 Messages postés lundi 22 novembre 2004Date d'inscription 31 janvier 2009 Dernière intervention - 3 août 2005 à 20:15
0
Merci
Ah bé c'est celle par défaut :^)

Enfin je l'affiche avec une MessageBox pour l'instant :o

C'est juste un début quoi lol, donc j'vé regardé vec la police pour voir ce que ça donne :)



void Aurevoir( void ); //Bonne journée
Commenter la réponse de cs_Joky
vecchio56 6539 Messages postés lundi 16 décembre 2002Date d'inscription 22 août 2010 Dernière intervention - 3 août 2005 à 20:22
0
Merci
Dans charmap, tu as en bas à droite un truc "Frappe: ALT+X", X représente la valeur du caractère. Pour le copyright c'est 169 en général
Commenter la réponse de vecchio56
cs_Joky 1791 Messages postés lundi 22 novembre 2004Date d'inscription 31 janvier 2009 Dernière intervention - 3 août 2005 à 20:26
0
Merci
Ouaip ça je savais avec le clavier mais en faite je veux remplir un
tableau de caractères avec des caractères aléatoires :) pour faire un
jeu de réflexe :p lol

Donc j'pense que c'est bon, j'ai essayé de les mettres dans un fichier pour voir et apparement le © est bien là



© -> Alt+184
Merci j'met réponse accepté des que je suis sur :p
void Aurevoir( void ); //Bonne journée
Commenter la réponse de cs_Joky
vecchio56 6539 Messages postés lundi 16 décembre 2002Date d'inscription 22 août 2010 Dernière intervention - 3 août 2005 à 20:39
0
Merci
Pourquoi tout ce début de code? autant mettre "ChrAsc.txt" sans le chemin...
Commenter la réponse de vecchio56
cs_Joky 1791 Messages postés lundi 22 novembre 2004Date d'inscription 31 janvier 2009 Dernière intervention - 3 août 2005 à 20:41
0
Merci
Pfiuuuu Dis diou lol

J'avais pas demandé mais vu que ça vient comme ça :p

J'vais aller récuperer ta Dll l'ami :) pke sinon peut rien faire avec bnultoa() :)
Merci encore;)
void Aurevoir( void ); //Bonne journée
Commenter la réponse de cs_Joky
BruNews 21054 Messages postés jeudi 23 janvier 2003Date d'inscription 7 novembre 2014 Dernière intervention - 3 août 2005 à 20:42
0
Merci
un prog ne doit jamais présumer de sa currentdirectory, ça peut se modifier depuis un raccourci par exemple.

ciao...
BruNews, MVP VC++
Commenter la réponse de BruNews
vecchio56 6539 Messages postés lundi 16 décembre 2002Date d'inscription 22 août 2010 Dernière intervention - 3 août 2005 à 20:45
0
Merci
Pour un prog de test comme ca on peut se permettre des petites folies
Commenter la réponse de vecchio56
BruNews 21054 Messages postés jeudi 23 janvier 2003Date d'inscription 7 novembre 2014 Dernière intervention - 3 août 2005 à 20:46
0
Merci
sur !!! d'ailleurs on est sur un post Joky, alors...

ciao...
BruNews, MVP VC++
Commenter la réponse de BruNews
cs_Joky 1791 Messages postés lundi 22 novembre 2004Date d'inscription 31 janvier 2009 Dernière intervention - 3 août 2005 à 20:51
0
Merci
Mdr vraiment on ma catalogué moi :p

J'aime bien ça en faite :)

Ne pas passé inaperçut ça fait plaisir ;)

Et merci pour la fonction ;) que j'essayerai pas de comprendre certe mais bon :)



void Aurevoir( void ); //Bonne journée
Commenter la réponse de cs_Joky
vecchio56 6539 Messages postés lundi 16 décembre 2002Date d'inscription 22 août 2010 Dernière intervention - 3 août 2005 à 21:20
0
Merci
C'est pas si compliqué, tu va juste te demander d'ou sort le -858993459
Commenter la réponse de vecchio56
cs_Joky 1791 Messages postés lundi 22 novembre 2004Date d'inscription 31 janvier 2009 Dernière intervention - 3 août 2005 à 21:26
0
Merci
En faite je fais une fixation sur Naked lol :p

Quel vicieux moi :p

void Aurevoir( void ); //Bonne journée
Commenter la réponse de cs_Joky
BruNews 21054 Messages postés jeudi 23 janvier 2003Date d'inscription 7 novembre 2014 Dernière intervention - 3 août 2005 à 21:33
0
Merci
Naked = Compilo bas les pattes pas touche

ET RIEN D'AUTRE !!!

ciao...
BruNews, MVP VC++
Commenter la réponse de BruNews
cs_Joky 1791 Messages postés lundi 22 novembre 2004Date d'inscription 31 janvier 2009 Dernière intervention - 3 août 2005 à 21:37
0
Merci
Lol ouai mais en Français ça veut dire Nu :p donc je fixe je fixe mais j'vois rien :) :D


void Aurevoir( void ); //Bonne journée
Commenter la réponse de cs_Joky
BruNews 21054 Messages postés jeudi 23 janvier 2003Date d'inscription 7 novembre 2014 Dernière intervention - 3 août 2005 à 21:45
0
Merci
Te plait la fonction toute nue ?
ben interdit d'y toucher, elle n'est pas majeure.

ciao...
BruNews, MVP VC++
Commenter la réponse de BruNews
cs_Joky 1791 Messages postés lundi 22 novembre 2004Date d'inscription 31 janvier 2009 Dernière intervention - 3 août 2005 à 21:55
0
Merci
Mdr pas mal dis donc :p jvé castrer euhhhhh caster pardon :)
void Aurevoir( void ); //Bonne journée
Commenter la réponse de cs_Joky
cs_Joky 1791 Messages postés lundi 22 novembre 2004Date d'inscription 31 janvier 2009 Dernière intervention - 3 août 2005 à 21:55
0
Merci
Jvé la****** désolé :)
void Aurevoir( void ); //Bonne journée
Commenter la réponse de cs_Joky
magic_Nono 1878 Messages postés jeudi 16 octobre 2003Date d'inscription 16 mars 2011 Dernière intervention - 4 août 2005 à 14:15
0
Merci
pr revenir a ton pb de base



si tu veux pouvoir avoir tous les caracrères possibles, y compris les symboles russes et chinois,



ben passe carément en unicode.



ceci dit attention avec les prog ci dessus car avec l'unicode, le car est codé sur le double de place...



0x56 => 0x0056 ou 0x5600

...


Allé go, amuses toi ac ça...

++
___________________________________________________________
Magicalement
Nono
Commenter la réponse de magic_Nono

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.