Как вывести обратный слэш в c
Перейти к содержимому

Как вывести обратный слэш в c

  • автор:

Символьные константы с обратным слэшем

Заключение символов в одинарные кавычки применимо для большинства печатаемых символов, но некоторые, как, например, возврат каретки, невозможно ввести с клавиатуры. С этой целью С использует специальные константы с обратным слэшем, показанные в таблице.

Таблица: Кодировка с обратным слэшем

Код Значение
\b Забой
\f Перевод формата
\n Новая строка
\r Возврат каретки
\t Горизонтальная табуляция
Двойная кавычка
\’ Одинарная кавычка
\0 Нулевой символ
\\ Обратный слэш
\v Вертикальная табуляция
\a Звонок
\N Восьмеричная константа (N — это восьмеричное значение)
\xN Шестнадцатеричная константа (N — это шестнадцатеричное значение)

Символы с обратным слэшем следует использовать таким же образом, как и обычные символы.

в результате первого присваивания переменная ch получает символ табуляции, после чего печатается строка «тестовая сторока» с переводом курсора на новую строку.

Как вывести в строку знак : /

В общем пытаюсь сделать отчет и в отчете должны быть сырые данные *.bin битники (точнее где они лежат ) . Но выходной фаил *.txt обрабатывает LATEX и приводит к формату .rtf . Проблема заключается что битники лежат в файле MA_Check (название изменить нельзя) , и чтобы латех отобразил _ надо ввести /_ но в Qt это команда «строка коментов» . Что делать как быть .

char str[] = "Hello/World/"; size_t count = std::strlen(str); int j = 0; for (int i = 0; i j = j+1; qDebug() qDebug() else < str1[t] = str[i]; >// qDebug() else < str1[t] = str[i]; >> qDebug() setupUi(this); 

Отслеживать
5,208 18 18 серебряных знаков 40 40 бронзовых знаков
задан 24 ноя 2015 в 9:33
2,907 7 7 золотых знаков 44 44 серебряных знака 92 92 бронзовых знака

первым делом — у вас в коде строка str1[t] = ‘\’; неверна, этот слеш используется для ввода спец символов. чтобы ввести именно его, нужно написать str1[t] = ‘\\’;

24 ноя 2015 в 9:36

К чему все эти манипуляции с символами? Если уж используете Qt , так пользуйтесь функционалом QString : QString::replace(const QString& before, const QString& after) .

24 ноя 2015 в 9:49

А вообще, не очень понятно что вам надо. Приведите пример двух строк: строка, которую вы имеете, и строка, которую вам надо получить.

24 ноя 2015 в 9:51

Ничего не понятно. Что у вас входной файл? Чем он обрабатывается сначала и что получается? Чем он обрабатывается потом, и что получается. Опишите проблему по шагам.

24 ноя 2015 в 16:43

3 ответа 3

Сортировка: Сброс на вариант по умолчанию

У вас ошибка в этом месте:

if(str[i] == '_') < str1[t] = '\'; // ошибка здесь t = t+1; str1[t] = '/'; // здесь правильно >

В Си и Си++ символ \ внутри строковых и символьных литералов играет роль экранирующего. Это означает что следующий за ним символ воспринимается компилятором либо как символ форматирования, либо если это замыкающий символ литерала ( » для строковых и ‘ для символьных) как продолжение этого литерала. Во втором случае это нужно если необходимо в строке поместить кавычку » , например:

const char * str = "it is \"quoted\" string"; // it is "quoted" string 

То же самое если вам нужен символ ‘ char’у присвоить:

char quote = '\''; // quote = ' 

Если вам нужен сам символ \ то его тоже надо экранировать, то есть в литерале нужно писать \\ :

const char * path = "C:\\Program Files\\"; // C:\Program Files\ char slash = '\\'; // shash = \ 

У вас же происходит следующее: в сроке str1[t] = ‘\’; вы забыли заэкранировать обратный слеш и компилятор считает весь последующий код продолжением литерала который вы хотите присвоить str1[t] .

Правильно будет так:

if(str[i] == '_') < str1[t] = '\\'; // ок t = t+1; str1[t] = '/'; // ок >

Как вывести обратный слэш в c

Ну ваше есть много способов я вывожу с помощью функции

ShowMessage («Выводит это сообщение на экран»);

проблема лиш в том что эта функция имеет параметр типа AnsiString и свое сообщение формирует в новом окне — с названием окна = названию твоего исполнительного файла

описана функция как ShowMessage (const::AnsiString);

Подскажите, а как вывести на экран «\n» (с помощью cout)
Ведь не выводит на экран такая строка: cout

в моем варианте это будет так:

всему свое время как зиме и весне
и каждому солнцу свой неба кусок
Последний раз редактировалось Stilet; 30.03.2010 в 09:52 .

Assemblerru
Посмотреть профиль
Найти ещё сообщения от Assemblerru

Как вывести «\\» двойной обратный слеш?

Author24 — интернет-сервис помощи студентам

Заменить обратный слеш на обычный
К примеру, у нас есть ссылка.

std::string и двойной слеш
Вопрос достаточно прост в примитивной программе: #include <iostream> #include <string> using.

Удвоенный двойной слеш в wstring
Здравствуйте. Делаю так: std::wstring s = argv ; s += L" "; s += argv; Получаю слишком.

Как в строке заменить обратный слэш на двойной обратный слэш ?
Есть строка std::wstring str = L"C:\Program Files\Common Files\new folder\1.0"; Как в ней.

Изменить слеш на обратный при записи OpenDialog->FileName
Прошу помощи, дорогие форумчане: "Как сделать, чтобы у OpenDialog->FileName адрес записывался, как.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *