mikrocontroller.net

Forum: Compiler & IDEs basic header-file


Autor: ... .. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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, ...).

Autor: Frank Lorenzen (florenzen)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: B e r n d W. (smiley46)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dasi ist:

#include <string.h>

Autor: Markus Olderdissen (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: B e r n d W. (smiley46)
Datum:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.