Войти

Показать полную графическую версию : [решено] Как сравнить символ косая черта (\)?


Ferum01
21-05-2010, 20:56
например if (sim1[0]=='\') a=1; не работает.
возможно для такого символа надо еще какие символы указывать?

мне надо, что б считывались только те строки вначале которых встречается сивол \ затем перезаписать в другой фал эти строки
или так
fscanf (fp1, "%s", sim1);
if (sim1[0]=='\') fprintf (fp2, "%s\n", sim1);

Drongo
21-05-2010, 21:27
Ferum01, два слеша пишите \\

pva
21-05-2010, 21:28
символ \ имеет специальное значение. Последовательность, которая идёт за ним воспринимается компилятором при сборе программы так:
\\ одинарный \
\NN число задаёт 8-ричный код символа
\xNN число задаёт 16-ричный код символа
\t табуляция \n перевод строки \r возврат каретки \b сигнал
эти и другие символы описаны в любом учебнике.
Пример: "c:\\windows" даст c:\windows

Ferum01
21-05-2010, 22:00
условие заработало, но функция fscanf (fp1, "%s", sim1); не адекватно заполняется sim1 символом \ В итоге строки какие урезанные получаются

Ferum01
22-05-2010, 11:58
Использовал функцию fgets(sim, 100, fp1); и все заработало
fsсanf не читал пробел и \t, поэтому файл не правильно считывался...




© OSzone.net 2001-2012