chr() in C?

Seite 1 von 2 - Forum: Coding Stuff auf overclockers.at

URL: https://www.overclockers.at/coding-stuff/chr_in_c_25306/page_1 - zur Vollversion wechseln!


MarS919 schrieb am 08.02.2002 um 11:54

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()).

:rolleyes:


Murph schrieb am 08.02.2002 um 12:03

zu 2)

substr(p,n);


JC schrieb am 08.02.2002 um 12:07

ad 1) gabs da nicht so 'ne funktion namens ... itoa(n)? :confused:

c ist schon ein bisserl länger her :rolleyes:


MarS919 schrieb am 08.02.2002 um 13:21

Zitat von ][Murph][
zu 2)

substr(p,n);

Diese Funktion gibt's offensichtlich nur in PHP und PERL. :(


JC schrieb am 08.02.2002 um 13:25

Zitat von MarS919
Diese Funktion gibt's offensichtlich nur in PHP und PERL. :(
und JavaScript ;)


MarS919 schrieb am 08.02.2002 um 13:27

irgendwie ist ein string ja ein array, darauf kann man bekanntlich mit einem Index zugreifen. Kleine Hirnblokade meinerseits ... :D


manalishi schrieb am 08.02.2002 um 13:30

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 ;)


MarS919 schrieb am 08.02.2002 um 13:32

Ich wills ja nicht ausgeben, ich will es im Programm selbst verwenden. Da ändert auch (char)i nix. :)


Murph schrieb am 08.02.2002 um 13:59

Zitat von JC
und JavaScript ;)

und c++

dachte das das ding in C auch scho geben hat...


Vir@s schrieb am 08.02.2002 um 15:45

Zitat von manalishi
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 denk er will wenn er 48 hat auch "48" Ausgeben :)

mit itoa geht des!


manalishi schrieb am 08.02.2002 um 19:49

aha?

Code:
char hallo = 48;

printf("%i",hallo);

gibt wohl auch die zahl 48 am schirm aus....


Vir@s schrieb am 08.02.2002 um 19:53

Zitat von manalishi
aha?

Code:
char hallo = 48;

printf("%i",hallo);

gibt wohl auch die zahl 48 am schirm aus....

Er hat des meines erachten nach aber so:

Code:
char *einString = "1234";

und da geht dann nix mehr mit printf! Eine Zahl die als Zahl vorliegt auszugeben is keine Kunst, aber er will nen String in ne Zahl umwandeln :)

Denk ich halt mal!


MarS919 schrieb am 08.02.2002 um 20:02

Die Funktion soll zurückgeben, ob sich in einem String auch wirklich nur druckbare Zeichen befinden. Das funzt jetzt so:

Code: PHP
int checkstring(char *string)
{
	int j=0;
	
	for(j=0; j < strlen(string); j++)
	{
		if(!isprint(string[j]))
			return 0;
	}
	return 1;
}

Das umgeht meine Probleme (erstes Posting); deswegen sind sie aber noch immer noch nicht gelöst. :D


that schrieb am 08.02.2002 um 20:55

Was genau willst jetzt noch machen?


MarS919 schrieb am 09.02.2002 um 00:00

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