Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Troll_Face
600 / 400 / 4
Регистрация: 26.04.2012
Сообщений: 2,070
#1

Как вставить перевод строки в конец? - C++

16.06.2013, 02:02. Просмотров 682. Ответов 12
Метки нет (Все метки)

имеется строка
C++
1
char str[]="123456"
как в нее грамотно вставить символ перевода строки?
пробовал так:
C++
1
2
3
char str[]="123456";
    str[strlen(str)]='\n';
    str[strlen(str)+1]='\0';
не получается...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.06.2013, 02:02
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как вставить перевод строки в конец? (C++):

Вставить символы в начало и конец строки - C++
Дана строка символов. Сформируйте новую строку, начинающуюся с символа а (вводится с клавиатуры) и заканчивающуюся символом b (вводится с...

Ввести строки s1 и s2. 2 средних символа строчки s2 удалить и вставить в начало и конец s1 - C++
Учесть следующие ситуации:  один из заданных строк (все строки) могут быть пустыми;  средний символ может быть найден только, если...

Дан текстовый файл ( определить слово с наибольшим количеством букв и вставить его на начало и конец строки) - C++
Дан текстовый файл определить слово с наибольшим количеством букв и вставить его на начало и конец строки. Вот мой код #include...

Как первые два символа строки переставить в конец этой строки? - C++
Собственно вопрос

Как переместить символ окончания строки /0 в конец строки? - C++
Это мне нужно сделать, чтоб не появлялись кракозябры. Причем сделать для всех строк подключенного к программе файла.

Массив строк. Конец строки и конец массива - C++
\n - перевод на новую строку \0 - конец строки Если у меня массив строк (текст), чем заканчивается каждая строка, и как закончится...

12
quwy
Native x86
3277 / 2123 / 575
Регистрация: 13.02.2013
Сообщений: 7,072
16.06.2013, 02:18 #2
Для Windows:
C
1
char str[]="123456\r\n"
Для Unix:
C
1
char str[]="123456\n"
0
Vourhey
Почетный модератор
6485 / 2259 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
16.06.2013, 02:20 #3
C++
1
char str[]="123456\n";
0
Troll_Face
600 / 400 / 4
Регистрация: 26.04.2012
Сообщений: 2,070
16.06.2013, 02:25  [ТС] #4
не не не. мне немного не так нужно. это я для примера. предположим имеется такая конструкция
C++
1
2
3
4
strcpy(str1, str2)
str1[strlen(str1)]='\r';
str1[strlen(str1)+1]='\n';
str1[strlen(str1)+2]='\0'
не прокатывает так..
0
quwy
Native x86
3277 / 2123 / 575
Регистрация: 13.02.2013
Сообщений: 7,072
16.06.2013, 02:27 #5
Troll_Face, а памяти дополнительный байт откуда возьмется?
0
Vourhey
Почетный модератор
6485 / 2259 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
16.06.2013, 02:27 #6
Цитата Сообщение от Troll_Face Посмотреть сообщение
не прокатывает так..
А ты не думал, что strlen выясняет длину строки по нулевому символу? И когда, ты записываешь в конец строки ты его просто переписываешь и последующие вызовы не вернут тебе валидную длину. Используй strcat, что за извращения... И не на строку, которая в стеке лежит.
1
Troll_Face
600 / 400 / 4
Регистрация: 26.04.2012
Сообщений: 2,070
16.06.2013, 02:30  [ТС] #7
quwy,
Цитата Сообщение от quwy Посмотреть сообщение
а памяти дополнительный байт откуда возьмется?
найду
0
quwy
Native x86
3277 / 2123 / 575
Регистрация: 13.02.2013
Сообщений: 7,072
16.06.2013, 02:33 #8
Troll_Face, ну так выделите его для начала, а потом уже записывайте. Вы же символом '\r' затерли терминатор, а потом символ '\n' и новый терминатор пишете прямо в космос поверх других данных программы. В вашей статической строке нет места для новых символов.
0
Troll_Face
600 / 400 / 4
Регистрация: 26.04.2012
Сообщений: 2,070
16.06.2013, 02:34  [ТС] #9
Цитата Сообщение от Vourhey Посмотреть сообщение
strcat
то, что мне нужно
0
quwy
Native x86
3277 / 2123 / 575
Регистрация: 13.02.2013
Сообщений: 7,072
16.06.2013, 02:35 #10
Сдается мне, что это еще не конец
0
Troll_Face
16.06.2013, 02:51  [ТС]
  #11

Не по теме:

Цитата Сообщение от quwy Посмотреть сообщение
Сдается мне, что это еще не конец
в каком плане? если Вы про эту тему, то все, уже конец. а так то я еще к вам много раз обращусь. . глянте лучше мою тему про файлы... не могу понять почему не пашет

0
quwy
16.06.2013, 02:56
  #12

Не по теме:

Цитата Сообщение от Troll_Face Посмотреть сообщение

Не по теме:


в каком плане? если Вы про эту тему, то все, уже конец. а так то я еще к вам много раз обращусь. . глянте лучше мою тему про файлы... не могу понять почему не пашет

Ладно, каюсь. Недооценил. А вот по ассемблерной сборке не подскажу, на чистом асме писал еще в DOS-времена, дальше как-то вставками в языки высокого уровня обходился...

0
Troll_Face
16.06.2013, 02:59  [ТС]     Как вставить перевод строки в конец?
  #13

Не по теме:

Цитата Сообщение от quwy Посмотреть сообщение
А вот по ассемблерной сборке не подскажу
мне не нужна ассемблерная вставка. у меня проблема с ofstream. файл не открывается

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.06.2013, 02:59
Привет! Вот еще темы с ответами:

Файлы. Как отловить конец строки. - C++
Доброй ночи всем. Столкнулся с небольшой проблемой : надо прочесть из файла большое количество информации. Решил все хранить в векторе...

Как перейти на конец найденой строки? - C++
Привет Всем. Не подскажите как перейти на конец найденной строки? Заранее благодарен

Поясните как присваивается конец строки \0 - C++
int c,i; for(i=0; (c=getchar())!=eof && i<10-1; i++) s=c; s='\0'; i++; Тут в (i<10-1) Можно записать 9 элементов,(даже если...

Работа с файлами, как определить конец строки - C++
Как установить определение конца строки файла? Подготовьте в «Блокноте» текстовый файл. Напишите программу, которая считывает текст из...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
16.06.2013, 02:59
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru