Удалить элемент управления M из текстового файла в C - PullRequest
0 голосов
/ 27 марта 2010

возможно? Какой будет самый простой способ? Я пытался сравнить во входной строке символ с символом так

if (char ([i] == "^ M") char [i] = ""

но это не работает.

Кстати, если бы я смог это проверить, что заменитель мудрецов? в ""?

Спасибо

Ответы [ 2 ]

2 голосов
/ 27 марта 2010

Control-M не сохраняется в виде последовательности нескольких клавиш в текстовом файле. Обычно он сохраняется как значение ascii 13 или 0x0d в шестнадцатеричном формате.

Итак, ваше утверждение будет:

if (char [i] == 0x0d)

или

if (char [i] == '\ x0d')

0 голосов
/ 27 марта 2010

Если у вас изменяемый массив char, тогда, если вам нужно удалить заданный символ, вам нужно переместить все символы после удаленного символа на одно место, а не просто присвоить «пробел» данному символу .

Вероятно, это проще всего сделать с помощью указателей.

например. (в месте преобразования):

extern char *in;
char *out = in;

while (*in)
{
    if (*in != '\r')
        *out++ = *in;

    in++;
}

*out = '\0';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...