www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik String zeichenweise in Array schieben


Autor: Fux (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo
Kann mir jemand sagen wie ich einen String Zeichenweise in ein Array 
schieben kann?

Bsp:
#define SW_VERSION_STRING "SW Version V01.45\n"

Jetzt hätte ich gerne als Resultat in meinem Array X folgendes:

X[0] = S
X[1] = W
X[2] = _
X[3] = V
X[4] = E
X[5] = R

usw...

Danke

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei der Definition von X:
char X[] = SW_VERSION_STRING;

Oder im Programm:
#include <string.h>
strcpy(X, SW_VERSION_STRING); // X muss ausreichend groß definiert sein!

Tipp: Besorge dir ein C-Buch.

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bis dein C-Buch, das du dir jetzt gleich bei Amazon bestellst, bei dir 
eintrifft, kannst du eine Kurzzusammenfassung mit dem absolut 
Notwendigsten hier nachlesen

http://www.mikrocontroller.net/articles/FAQ#Wie_fu...

Die 20 Euro für ein C-Buch sind gut investiertes Geld!
Denn durch anlassbedingtes Erfragen von Halbwissen in Foren lernst du C 
in all seinen Facetten und Feinheiten nie.

Autor: Fux (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok vielen Dank

Und welches C-Buch ist empfehlenswert?

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Fux schrieb:
> Ok vielen Dank
>
> Und welches C-Buch ist empfehlenswert?

Es gibt viele.
Immer wieder gerne empfohlen wird der Klassiker

Kernighan & Ritchie  /  Programmieren in C

Autor: Bene Jan (terfagter)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

wie ich einen String aus "Buchstaben" etc in ein Array mit strcpy 
schreibe weiß ich, aber wie schaffe ich die folgenden Zeichen in ein 
Feld zu schreiben, ohne das aufwendige schreiben? Die Mischung aus 
Hexadezimalwerten und Buchstaben macht mir etwas Probleme.
  data[0] = 0x1B;
  data[1] = 'D';
  data[2] = 'L';
  data[3] = 0x1B;
  data[4] = 'Z';
  data[5] = 'C';
  data[6] = 0x03;
  data[7] = 0x3F;
  data[8] = 'H';
  data[9] = 0x0D;
Danke für eure Hilfe!

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bene Jan schrieb:
> Hallo zusammen,
>
> wie ich einen String aus "Buchstaben" etc in ein Array mit strcpy
> schreibe weiß ich, aber wie schaffe ich die folgenden Zeichen in ein
> Feld zu schreiben, ohne das aufwendige schreiben?

Indem man in einem C-Buch das Kapitel über Strings liest. Dort ist 
beschrieben, wie man in einen String Zeichen mit ihrem Hex-Wert einfügen 
kann

  strcpy( data, "\x1BDL\x1BZC\x03\x3FH\n" );

Wieso glaubt das eigentlich keiner, wenn wir hier in jeden 2. Thread mit 
einer C Frage den Satz "Du brauchst ein C-Buch" dazuschreiben (müssen).

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Karl heinz Buchegger schrieb:

> Wieso glaubt das eigentlich keiner, wenn wir hier in jeden 2. Thread mit
> einer C Frage den Satz "Du brauchst ein C-Buch" dazuschreiben (müssen).

C-Buch haben ist wie Cheaten!
SCNR

Autor: Micha H. (mlh) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Karl heinz Buchegger schrieb:
> Wieso glaubt das eigentlich keiner, wenn wir hier in jeden 2. Thread mit
> einer C Frage den Satz "Du brauchst ein C-Buch" dazuschreiben (müssen).

Warum sollte jemand sich die Mühe machen und extra ein Buch kaufen, wenn 
Du (oder andere) ja doch immer gleich die Lösung für das anstehende 
Problem gebt, so wie auch hier geschehen.
Tip: Laß doch den Hinweis mit dem Buch gleich bleiben.

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Micha H. schrieb:

> Tip: Laß doch den Hinweis mit dem Buch gleich bleiben.

Ich geb halt die Hoffnung nicht auf, dass die Fragesteller es dann doch 
irgendwann einsehen, dass es nicht sinnvoll ist sich all die kleinen 
Details mühsam zu erfragen.

Autor: Bene Jan (terfagter)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ach Leute,

ich habe ein C-Buch in das ich auch geschaut haben, aber vielleicht war 
ich zu blind oder habe nicht nach dem richtigen gesucht. Mit der der 
Hilfe von K-H B. habe ich aber den entscheidenen Tipp gekriegt und mir 
den Rest aus dem C-Buch und dem Internet geholt. Jetzt konnte ich auch 
geziehlt suchen und habe alles gefunden. Auch das ich die Hex-Werte in 
"" setzen muss, damit nicht das nachfolgende Zeichen nicht mit als 
Hex-Wert gewertet wird etc.
Danke für die Hilfe.

Autor: Gregor B. (gregor54321)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
array[] = { 0x08, 0x15, 'T', 'e', 's', 't', '\0'};

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.