makes integer from pointer without a cast

Gast #3339654
Lesenswert?
• ▲
▼
Das kann doch nicht so schwer sein...


Alsa das erste ist ein array dem ich einfach nur eine 0 anhängen möchte.

ein readBuffer[20] = 0; würde es auch tun.

Aber wie sieht hier ein richtiges casten aus?
(ROM *char) ?  (Microchip)

1
char readBuffer[20];
2
readBuffer[20] = "\0";

assignment makes integer from pointer without a cast
Gast #3339736
Lesenswert?
• ▲
▼
Mein Problem ist am ende folgendes,
ich lese aus einer Datei stueckweise zeug in einen Buffer.
1
 FSfread ((void *)readBuffer, 1, 20, fp);

Bei jedem Aufruf erhöht er auch fp->seek also sprich jeder aufruf liest 
weitere 20 bytes aus der Datei ein.

Die Datei sieht so aus:

DHCP=1
IP=127.0.0.1
....
VAR=200


Da ich aber nur 20 byte in den buffer bekomme muss ich irgendwie 
schaffen das zu parsen das ich die Variablen einzelnd bekomme.
Gast #3340053
Lesenswert?
• ▲
▼
Simon schrieb:
> Ich glaube sein Problem ist einfach nur das anführungszeichen weil er
> meint das es ein String ist und nicht ein Char '\0'.

Richtig. "\0" ist ein Array aus char, woraus bei der Zuweisung ein 
Zeiger auf char gemacht wird. Diesen Zeiger versuchst du, an deinen 
readBuffer anzuhängen.

> aber kann man das irgendwie auch casten?

Was stimmt denn mit '\0' nicht?

> readBuffer[20] = "\0";

Wenn es unbedingt mit "" sein muß:

readBuffer[20] = "\0"[0];
Gast #3340085
Lesenswert?
• ▲
▼
Mit "X" wird eine Zeichenkette definiert. Als zwei Einzelzeichen: 'X' + 
'\0'.
Gleiches gilt für "\0" welches als Einzelzeichen '\0' + '\0' darstellt.

Die Zuweisung: xxxx[20] = bezieht sich aber auf ein Einzelzeichen.

Darüber hinaus ist bei:
char XXX [20];
XXX [20]= ?
ein absolutes Tabu, aber eine tolle Möglichkeit ein Programm ins Nirwana 
zu schicken.

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.