Я пытаюсь использовать strstr()
найти первое вхождение двойные кавычки (»), однако, когда я использую эту строку кода:Как поместить «внутри строки в C
pch = strstr(tmp,""");
Он не будет компилироваться, потому что у меня нет завершающей цитаты. Поэтому я использовал
pch = strstr(tmp,'"');
который затем говорит мне, что есть ошибка, как это:
passing argument 2 of ‘strstr’ makes pointer from integer without a cast [enabled by default]
pch = strstr(tmp,'"'); //finds the first occurrence and deletes the preceeding
^
In file included from /usr/include/stdio.h:29:0,
from assignment1.c:1:
/usr/include/string.h:40:8: note: expected ‘const char *’ but argument is of type ‘int’
char *_EXFUN(strstr,(const char *, const char *));
Любые идеи вокруг этого или кто-нибудь знает способ использовать strstr для обнаружения двойной кавычки? Может быть, с преобразованиями ascii?
Заранее спасибо.
Попробуйте это: 'strstr (tmp," \ ""); ' – haccks
Я не могу найти эту информацию в любом месте. Огромное вам спасибо! – JamesDonnelly
Это дано в любой базовой книге/учебнике C. Для вашей информации смотрите стандарт C11 ** 6.4.4.4 Персонаж константы **: «Одинарная кавычка», «двойная кавычка», вопросительный знак?, th e обратная косая черта \ и произвольные целочисленные значения представляются в соответствии со следующей таблицей побега последовательностей: одиночная кавычка '\' двойная кавычка "\" вопросительный знак? \? обратная косая черта \\\ восьмеричный символ \ восьмеричные цифры шестнадцатеричный символ \ x шестнадцатеричные цифры – haccks