Konventering til ASCII

Tags:    c++ .net asp.net

Jeg ved at når man programmer i dos kan man bruge %c for at konventere til ASCII karaktere, hvordan kan jeg gøre det?? Jeg programmer i Borland C++ builder 6, og det som jeg skal have konventeret til ASCII er en int variable..



7 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 4 karma
Sorter efter stemmer Sorter efter dato
#include <iostream>
int main() {
int i;
for (i=32;i<256;i++) {
cout << i << ": " << char(i) << endl;
}
cin >> i;
return 0;
}

vil vise alle ASCII tegn (dog kun fra 32 til 255, men du har alligevel ikke brug for andre..)
som du kan se bruges char(); til at fange ASCII-tegnet ud fra en numerisk værdi



Du kan bruge WM_KEY eller sådan noget til at finde udaf hvornår brugeren trykker på en knap. Når du reagere på denne message får du flere paremetre hvor den ene indeholder den knap der er trykket på.

Denne paremetre undersøges via Windows predefineret konstanter (kan ikke huske navnet, men se MSDN). Det er ret simpelt. Blot en if - sætning ikke noget med at regne frem og tilbage fra int til char... I VC kan du få knap kodeoversigten ved at oprette en genvej, men se MSDN der her er hjælp at hente....

Janus
P.s Skriv lige hvis det ikke lykkes, så tror jeg at jeg kan finde en stump kode...


*** Livet er smukt ***[Redigeret d. 17/05-03 18:04:30 af Janus S. Andersen]



Hvis det du mener er at du har ascii koden i en int og du skal have den til en char, så type caster du den bare:

Fold kodeboks ind/udKode 


Mender du derimod midt i en printf eller noget andet så må du lige slå det op selv, 8 år siden jeg lavede c/c++ sidst.



Som det står beskrevet i overskriften skal jeg have konventeret til ASCII, og det er en int som der skal konventerers
[Redigeret d. 12/05-03 14:49:31 af Søren]



Og hvad mener du så med konvertere til ascii .. lave det om til en streng .. dvs at intTal indeholder fx 1024, så skal du have lavet en streng som indeholder "1024" ?!?

Til det bruger du sprintf .. samme syntax som printf, men den leverer en streng tilbage istedet for at skrive den ud igennem std(out/err/andet).



Og hvad mener du så med konvertere til ascii .. lave det om til en streng .. dvs at intTal indeholder fx 1024, så skal du have lavet en streng som indeholder "1024" ?!?

Til det bruger du sprintf .. samme syntax som printf, men den leverer en streng tilbage istedet for at skrive den ud igennem std(out/err/andet).


Det jeg mener med at konventere til ASCII er at lave tegn som disse "© = 8888" eller "® = 331177" ved at bruge venstre 'ALT' og nogle tal...

I DevCPP:
Fold kodeboks ind/udKode 
[Redigeret d. 12/05-03 18:00:25 af Søren]



Ok .. ASCII er kun 256 tegn .. så dit tal kan ikke være 331177 eller noget i den stil.
Den slags er muligt i windows fordi der bruges en font og unicode eller noget andet .. ikke ASCII.
Men hvis du mener ASCII, så er det som sagt först bare at type caste din int over i en char og smide den i en streng hvis du skal bruge en streng.

Skal du lave noget unicode ved jeg ikke hvad du skal göre, det har vel ikke noget med c++ at göre, men hvilke libs du har ... fx windows hvis det er der du koder.




t