1 / 1 / 0
Регистрация: 06.11.2022
Сообщений: 28
|
|
1 | |
Как заменить "tab" на символ "^|"?08.11.2022, 16:13. Показов 1591. Ответов 20
есть у меня текстовый файл с которого я должен считать в буффер все содержимое и заменить табы на символ '^|' и вывести буффер. файл не должен меняться! как это реализовать - без понятия
0
|
08.11.2022, 16:13 | |
Ответы с готовыми решениями:
20
Как заменить символ-заполнитель на любой символ? Как заменить символ "Tab" в начале абзаца на пробелы? как можно заменить TAB на Enter? Символ переноса в Excel (Как заменить символ на перенос строки) Есть строка (S), как в ней заменить символ (a) на символ (b) |
1 / 1 / 0
Регистрация: 06.11.2022
Сообщений: 28
|
|
08.11.2022, 18:17 [ТС] | 3 |
Verevkin, можно через принтф
типо " if (str[i] == '\t'){ str[i] = "^|"; } " но я должен перебирать массив (буффер) посимвольно
0
|
1 / 1 / 0
Регистрация: 06.11.2022
Сообщений: 28
|
|
08.11.2022, 19:43 [ТС] | 5 |
Verevkin, тогда наверное вот так:
if(str[i] == '\t'){ printf("^|"); printf("%s", str[i]); } если символ равно '\t' (табуляции) то вместо таба выводить '^|'
0
|
2478 / 1082 / 484
Регистрация: 17.11.2018
Сообщений: 2,763
|
|
08.11.2022, 20:35 | 9 |
0
|
1 / 1 / 0
Регистрация: 06.11.2022
Сообщений: 28
|
|
08.11.2022, 20:36 [ТС] | 10 |
Verevkin,
cat -t filename предполагает и -v также отображает табы как ^I Мне нужно реализовать флаг -t и -v в си
0
|
Модератор
|
|
08.11.2022, 20:44 | 11 |
analogov net,
Не соответствует в том, что в Си "^I" это не символ (как в условии), а символы (два, а не один). Добавлено через 3 минуты Kuttubek, ищете в строке '\t' не нашли - выводите строку целиком иначе, выводите до '\t', выводите "^I", указатель строки на след.символ повторить
0
|
2478 / 1082 / 484
Регистрация: 17.11.2018
Сообщений: 2,763
|
|
08.11.2022, 21:38 | 13 |
Verevkin, а если бы он написал в названии темы так:
было бы нормально? А может ТС не знает каким словом это "^|" назвать и назвал это "^|" символом? В чём проблема? Добавлено через 2 минуты Тем более, вот же он написал:
0
|
Злостный нарушитель
9450 / 5101 / 1165
Регистрация: 12.03.2015
Сообщений: 24,042
|
|
08.11.2022, 21:40 | 14 |
Я бы это понял так:
на входе: "aaabbbtabccc"; на выходе: "aaabbb^lccc". Но он написал Я поэтому начал задавать уточняющие вопросы. Разве это не нормально?
0
|
2478 / 1082 / 484
Регистрация: 17.11.2018
Сообщений: 2,763
|
|
08.11.2022, 21:42 | 15 |
Verevkin, я там, выше, дописал...
0
|
2478 / 1082 / 484
Регистрация: 17.11.2018
Сообщений: 2,763
|
||||||
09.11.2022, 03:50 | 18 | |||||
Сообщение было отмечено Kuttubek как решение
Решение
Kuttubek, так попробуй:
1
|
1 / 1 / 0
Регистрация: 06.11.2022
Сообщений: 28
|
||||||
09.11.2022, 16:07 [ТС] | 19 | |||||
analogov net, Спасибо работает. Но я еще сделал свою версию
код:
и то и другое работает
0
|
2478 / 1082 / 484
Регистрация: 17.11.2018
Сообщений: 2,763
|
|
09.11.2022, 16:13 | 20 |
0
|
09.11.2022, 16:13 | |
09.11.2022, 16:13 | |
Помогаю со студенческими работами здесь
20
Как заменить символ . (точки) на символ / (right слэш)? Если символ Д встречается в массиве чаще чем символ к то заменить его на символ + Вывести строки, в которых символ «*» встречается не менее 2 раз и заменить символ «*» на символ «_» Как в каждую строку(130 000 строк) txt-файла добавить символ табуляции (TAB) после первого значимого пробела (SPACE)? Sheets Tab= new Sheets ('Test'); Tab.addCol('id',int); Tab.addCol('Text',String); Tab.addVal('id',4); Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |