PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : C Buchstaben doppelt wiedergeben



Osum
09.03.2014, 21:40
Moin wie war nochmal der Befehl in "C" um gewisse Buchstaben in einem Wort doppelt auszugeben?
Zum Beispiel: Heerr Müülleerr

Mivey
09.03.2014, 22:47
Wüsst nicht, dass es sowas in der Standard Library von C gibt.
Du könntest eine Funktion schreiben, die zwei (char) Strings als Input nimmt, der erste soll ausgegeben werden und jedes char davon, dass im zweiten String vorkommt wird doppelt ausgegeben. Eine simple for-loop und über printf oder puts halt die Ausgabe.

Etwa so:


void weird_print(char *input, char *look_for){
for(int i = 0; i < strlen(input);i++){
if(contains(input[i],look_for))
printf("%d",input[i]);
printf("%d",input[i]);
}
}

contains iteriert halt über look_for

Whiz-zarD
10.03.2014, 07:57
Wüsst nicht, dass es sowas in der Standard Library von C gibt.

Wieso sollte es auch so eine exotische Funktion in der Standard Library geben? Es gibt dafür ja keinen allgemeinen praktischen nutzen.

Mivey
10.03.2014, 13:32
Wieso sollte es auch so eine exotische Funktion in der Standard Library geben? Es gibt dafür ja keinen allgemeinen praktischen nutzen.
Ein paar obskure Sachen gibts immer. ^^

Denke da immer an die ganzen Befehle unter Bash im Linux Terminal. Wenn er nicht C geschrieben hätte, hättte ich auf Anhieb gedacht, er redet ja davon. Gebe sicher einen Weg so eine Funktion über Pipes und irgendwelche komischen Unterfunktionen zu realisieren. (Das "Warum?" frag ich mich gar nicht, manche Sachen will man nicht wissen)

Whiz-zarD
10.03.2014, 15:41
Denke da immer an die ganzen Befehle unter Bash im Linux Terminal.

Naja, die Befehle sind ja quasi eigenständige Programme, die man da aufruft, und keine Funktionen, die irgendwo in einer Bibliothek hinterlegt sind. Wer will, der kann auch für ls selber ein Programm schreiben, was er dann als Ersatz nutzen kann. Ja, selbst die eckigen Klammern einer if-Anweisung ruft nur das Programm test auf, und if ist auch nur ein Programm. (so viel, wie ich weiß sind die eckigen Klammern symbolische Verknüpfungen auf test)

Von daher kann man auch selbst ein Programm schreiben, was eben bestimmte Buchstaben verdoppelt und dieses Programm in einem Bash-Skript als Befehl verwenden.

Aber abgesehen davon: Wo liegt denn nun der Unterschied, ob ich nun per Bash-Befehle oder mittels C und den Standard-Bibliotheken so eine Funktion zusammenschustere? Weder Bash noch C besitzen dafür standardgemäß eine Funktion und muss selbstentwickelt werden. ;)