syntax error before or at: char ???
-
Hi Leute,
ich muss in einem String nach dem Appostroph suchen und habe Fehler die ich nicht beseitigen kann. es wäre sehr net falls jemand mir helfen könnte, den Fehler zu eliminieren .der Fehler ist:
line 16: syntax error before or at: char
line 16: empty character constant
line 16: newline in character constant
line 16: empty character constantdie Linie 16 ist : char *p = strch(str,APOSTROPH)
und mein code lautet:#... #define APOSTROPH ''' ... char str [150] = {"a partir d´haujourd'hui je cherche une apostroph"}; ... char *p = strch(str,APOSTROPH); ... }
Ich bedanke mich im voraus.
Gruß
-
Das Syntax-Highlighting sollte eigentlich alle Fragen beseitigen
-
Dein #define erzeugt keine legale Zeichenkonstante, sondern Müll - das ' dient als Endemarke für Zeichenkonstanten, deshalb mußt du es maskieren, wenn es in der Konstante vorkommen soll:
#define APOSTROPH '\''
-
ich habe nichts verstanden.
Es wäre net wenn du es noch deutlicher erklärst
-
Mach es einfach so wie vorgeschlagen
-
#... #define APOSTROPH '\'' ... char str [150] = {"a partir d´haujourd\'hui je cherche une apostroph"}; ... char *p = strch(str,APOSTROPH); ... }
-
aha schrieb:
ich habe nichts verstanden.
Es wäre net wenn du es noch deutlicher erklärstNoch klarer kann (und will) ich es nicht erklären - lies dir meinen Beitrag so oft durch, bis du ihn verstanden hast.
(und wenn dir die Grundlagen fehlen, schau in deinem C-Lehrbuch unter "Zeichenkonstanten" nach)
-
ich kriege dann einen anderen Fehler:
line 16: warning: implicitly declaring function to return int: strch()
line 16: warning: improper pointer/integer combination: op "="
-
strchr nicht strch.
-
Wie wärs, wenn du mal beschreibst, welche Zeile Nummer 16 in deinem Code-Fragment ist?
-
DarthZiu schrieb:
Wie wärs, wenn du mal beschreibst, welche Zeile Nummer 16 in deinem Code-Fragment ist?
Angeblich die mit dem "char* p=..."
@aha: Die Funktion heißt ja auch strchr() - und C deklariert unbekannte Funktionen neu (mit beliebigen Parametern und Rückgabetyp "int").
-
DANKE SCHOEN LEUTE DAS PROBLEM HAT SICH GELOEST.
SCHOEN GRUEße
AHA