Forum: Compiler & IDEs basic header-file


von ... .. (Gast)


Lesenswert?

Ich bin derzeit damit beschäftigt, mir die C-Syntax beizubringen, sowie 
den Preprozessor zu steuern bzw. ... ich bin soweit, dass ich verstanden 
habe, dass da mehrere Dinge hintereinander veranstaltet werden, bis eine 
HEX-Datei entsteht. Ich bin nun auf der Suche, nach einer H-Datei, 
welche eine Syntax, ähnlich der von VB bzw. Basic, zur Verfügung stellt 
(Left, Right, Mid, LCase, UCase, InStr, ...).

von Frank L. (florenzen)


Lesenswert?

Du kannst auch in C Groß- und Kleinschreibung mischen....
Ich vermute aber das war nicht das was du hören wolltest ;-)
Verrate doch mal was Left, Right, Mid, LCase und co. eigentlich machen 
bzw. was du damit machen möchtest.

lg
frank

von B e r n d W. (smiley46)


Lesenswert?

Dasi ist:

#include <string.h>

von Markus Olderdissen (Gast)


Lesenswert?

Im folgenden ein Link, der auf eine Seite verweist, die im Detail die 
Verwendung der Funktion Left beschreibt. Weitere Erklärungen zu anderen 
Funktionen können von dort aus gefunden weren.

http://msdn.microsoft.com/en-us/library/sk3xcs8k(VS.85).aspx

Wer schon einmal mit BASCOM zu tun gehabt hat ...

Ich bin auf der Suche nach genauen Übersetungen dieser Funktionen zur 
verwendung in C.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Markus Olderdissen wrote:

> Ich bin auf der Suche nach genauen Übersetungen dieser Funktionen zur
> verwendung in C.

Die wirst du vermutlich nicht finden.

C selbst besitzt keine nennenswerten eingebauten Funktionen für die
Stringverarbeitung.  Das, was in <string.h> deklariert wird, ist
eher rudimentär.  Insbesondere fehlt darin alles, was irgendwie
Speicher für Strings allozieren oder freigeben würde (mal abgesehen
von der ggf. vorhandenen, aber nicht vom C-Standard abgedeckten
Funktion strdup()).

C++ bietet von Haus aus Klassen, die sowas können.

Für C solltest du entsprechende Bibliotheken mit ein wenig Suche im
Internet finden können.  Ich zweifle eben nur, dass sich jemand die
Arbeit gemacht hat, die (teilweise etwas schräg benamsten) Funktionen
ausgerechnet von MS-BASIC 1:1 in so eine Bibliothek abzubilden, aber
die entsprechende Funktionalität dagegen schon.  Allerdings ist in C
die Speicherverwaltung komplett manuell.  Wenn eine derartige Funktion
also den Speicher für den String selbst alloziert (wie das genannte
strdup()), dann ist es deine Aufgabe als Programmierer, diesen Speicher
nach der Benutzung auch wieder freizugeben, andernfalls bläht sich
deine Applikation immer mehr auf.

von B e r n d W. (smiley46)


Lesenswert?

In <string.h> beschriebene Funktionen

gefunden:
(http://www2.fh-fulda.de/~klingebiel/c-stdlib/string.htm)

char   *strcpy(s, ct);     // Zeichenkette ct in Vektor s kopieren
char   *strncpy(s, ct, n); // höchstens n Zeichen aus ct in s kopieren
char   *strcat(s, ct);     // Zeichenkette ct hinten an s anfügen
char   *strncat(s, ct, n); // max. n Zeichen von ct hinten an s anfügen
int    strcmp(cs, ct);     // Zeichenketten cs und ct vergleichen
int    strncmp(cs, ct, n); // max. n Zeichen von cs mit  ct vergleichen
char   *strchr(cs, c);     // liefert Zeiger auf das erste c in cs
char   *strrchr(cs, c);    // liefert Zeiger auf das letzte c in cs
size_t strspn(cs, ct);     // liefert Anzahl der Zeichen am Anfang von 
cs
size_t strcspn(cs, ct);    // liefert Anzahl der Zeichen am Anfang von 
cs
char   *strpbrk(cs, ct);   // liefert Zeiger auf die Position in cs
char   *strstr(cs, ct);    // liefert Zeiger auf erste Kopie von ct
size_t strlen(cs);         // liefert Länge von cs (ohne '\0').
char   *strerror(n);       // liefert Zeiger auf Zeichenkette
char   *strtok(s, ct);     // strtok durchsucht s nach Zeichenfolgen
void   *memcpy(s, ct, n);  // kopiert n Zeichen von ct nach s
void   *memmove(s, ct, n); // wie memcpy, auch wenn die Objekte 
überlappen
int    memcmp(cs, ct, n);  // vergleicht n Zeichen von cs mit ct
void   *memchr(cs, c, n);  // liefert Zeiger auf das erste c in cs
void   *memset(s, c, n);   // setzt n Zeichen von s auf den Wert c

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.