005
01.06.2006, 18:31 Uhr
Spacelord
Hoffnungsloser Fall
|
Zitat von Juergen01: |
Schreiben Sie Programme für die unten beschriebenen Aufgaben. Es handelt sich um die Verarbeitung von Zeichenketten, die als C-Strings repräsentiert sind (Null terminierte char Felder). Verwenden Sie die Pointerschreibweise (z.B.: *(s+1) und nicht s[1] !!). Verwenden Sie nicht die existierenden Bibliotheksfunktionen. Es sollen folgende Funktionalitäten in Programmen implementiert und durch geeignete Ein- und Ausgaben demonstriert werden: a) Umwandlung eines C-Strings in Großbuchstaben. ......
dazu hab ich diese funktion gefunden, char *StrUpper(char *s) die angeblich klein in großbuchstaben umwandelt.
|
Ich dachte du darfst nix fertiges nehmen? StrUpper kenn ich überhaupt nicht und das einzige was ich bei google gefunden hatte war ne Pascal funktion . Naja wie dem auch sei. Eine mögliche Implementierung einer eigenen StrUpper Funktion könnte in etwa so aussehen.
C++: |
#include <stdio.h>
char* StrUpper(char* buf,size_t size) { size_t idx=0; while(idx<size) { if( (*(buf+idx)>=97) && (*(buf+idx)<=122)) *(buf+idx)-=32; ++idx; } return buf; }
int main() { char buf[]="Das ist ein bekackter Test mit ZaHLen 87165247 und \"$%$\"%$§\"%$ Sonderzeichen,du!"; printf("%s\n",StrUpper(buf,sizeof(buf)));
return 0; }
|
Das Ganze in C weil sowas für C++ ne Beleidigung wäre. Das Ganze arbeitet nämlich nur mit dem Ascii Zeichensatz und es gibt halt nunmal auch noch etliche andere. Entsprechende C++ Methoden lösen das Ganze unabhängig vom verwendeteten Zeichensatz....aber die darfst du ja alle nicht benutzen .
Gruss Spacelord -- .....Ich mach jetzt nämlich mein Jodeldiplom.Dann hab ich endlich was Eigenes. |