URL: https://www.overclockers.at/coding-stuff/chr_in_c_25306/page_1 - zur Vollversion wechseln!
Ich bin gerade dabei, eine Aufgabe in C (für die Schule) zu schreiben.
Zwei Fragen:
1. Wie kann ich eine int-Variable (die einen ASCII-Wert enthält) im Programm selbst in ein Zeichen umwandeln?
2. Gibt es denn keine Funktion, mit der ich von einem String n Zeichen ab der Position p lesen kann?
Ich möchte in einer for-Schleife einen String Zeichen für Zeichen durchgehen, und dann überprüfen, ob dieses Zeichen druckbar ist (mit isprint()).
zu 2)
substr(p,n);
ad 1) gabs da nicht so 'ne funktion namens ... itoa(n)? 
c ist schon ein bisserl länger her 
Zitat von ][Murph][zu 2)
substr(p,n);

und JavaScriptZitat von MarS919Diese Funktion gibt's offensichtlich nur in PHP und PERL.

irgendwie ist ein string ja ein array, darauf kann man bekanntlich mit einem Index zugreifen. Kleine Hirnblokade meinerseits ... 
zu 1)
wieso willst das umwandeln? wennst an int wert mit %c ausgibst, wird der enthaltene wert sowieso als ascii interpretiert.
wenn du keine funktion findest, kannst du ja (char) intvariable; machen aber ich sag nur dass das genau nix tut 
Ich wills ja nicht ausgeben, ich will es im Programm selbst verwenden. Da ändert auch (char)i nix. 
Zitat von JCund JavaScript
Zitat von manalishizu 1)
wieso willst das umwandeln? wennst an int wert mit %c ausgibst, wird der enthaltene wert sowieso als ascii interpretiert.
wenn du keine funktion findest, kannst du ja (char) intvariable; machen aber ich sag nur dass das genau nix tut

aha?
Code:char hallo = 48; printf("%i",hallo);
Zitat von manalishiaha?Code:char hallo = 48; printf("%i",hallo);
gibt wohl auch die zahl 48 am schirm aus....
Code:char *einString = "1234";

Die Funktion soll zurückgeben, ob sich in einem String auch wirklich nur druckbare Zeichen befinden. Das funzt jetzt so:
Code: PHPint checkstring(char *string) { int j=0; for(j=0; j < strlen(string); j++) { if(!isprint(string[j])) return 0; } return 1; }

Was genau willst jetzt noch machen?
Also: Ich prüfe mit dieser Funktion, ob alle eingegebenen Zeichen druckbar sind. Wenn ja, soll das Ding verschlüsselt werden. Das Verschlüsselungsverfahren ist weder was Besonderes, noch trägt es was zu meinem Problem bei.
Mein erlaubter Zeichensatz (müssen wir verwenden) ist ein einziger String. Ich muss jetzt mit dem ASCII-Wert jedes einzelnen Zeichens erfahren, an wievielter Stelle (Index) das Zeichen im Zeichensatz steht. Mit diesem Wert kann ich dann in der Verschlüsselung weiterrechnen. Nur: diesen Wert krieg ich nicht, ich weiß einfach nicht, wie.
HELP!
overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2026