|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
24.03.2011, 17:09 | #1 | |||
Форумчанин
Регистрация: 24.03.2011
Сообщений: 120
|
Странная проблема со строками(подробности внутри)
Сори, за странное название темы, другого придумать не смог(((
Есть такой вот код(убрал всё лишнее): Цитата:
Цитата:
Причём прикол ещё в том, что если написать вот так(т.е. просто вывод на экран сделать не отдельной процедурой, а сразу выводить... см.ниже): Цитата:
Вопрос - что не так? Ошибка в передаче строки в процедуру вывода? |
|||
24.03.2011, 17:26 | #2 |
Участник клуба
Регистрация: 15.07.2008
Сообщений: 1,933
|
Нет, ошибка в том, что нет завершающего нуля в конце строки. Можете сделать так:
Код:
|
24.03.2011, 17:42 | #3 |
Форумчанин
Регистрация: 29.09.2010
Сообщений: 636
|
лучше int i=strlen(s)+1; или типа того
|
24.03.2011, 18:38 | #4 | |
Форумчанин
Регистрация: 24.03.2011
Сообщений: 120
|
netrino, на строчку "char s2[i + 1] = { 0 };" компилятор ругается(пишу в Dev-Cpp) ;( :
Цитата:
*Ответ найден экспериментально - если написать "char s2[6] = { 0 };" всё пашет, если "char s2[i + 1] = { 0 };" нет. Я в печали. Что делать? *Пока продолжаю эксперименты. Но всё таки что делать если бы было необходимо именно задать размер массива через i? onewho, цель взять именно 5 символов(а не все) из строки S и создать из них строку S2.)) Последний раз редактировалось Ksardas13; 24.03.2011 в 18:47. Причина: *Дополнено |
|
24.03.2011, 19:15 | #5 |
Форумчанин
Регистрация: 24.03.2011
Сообщений: 120
|
Вообщем, задачу поставленную перед собой решил. Спасибо netrino.)
Мучаюсь с приложениями сервер-клиент. Там всёравно стоит огранчиение на перекидываемые между сервером и клиентом строки, так что строчка "char s2[4096 + 1] = { 0 };" спасла мои нервы и мозг.)) |
24.03.2011, 20:19 | #6 | |
Участник клуба
Регистрация: 15.07.2008
Сообщений: 1,933
|
Цитата:
Заполнить массив нулями можно также пройдясь по нему в цикле: Код:
|
|
24.03.2011, 20:27 | #7 |
Участник клуба Подтвердите свой е-майл
Регистрация: 19.11.2007
Сообщений: 1,022
|
Код:
Последний раз редактировалось profi; 24.03.2011 в 20:39. |
24.03.2011, 22:29 | #8 |
Форумчанин
Регистрация: 29.09.2010
Сообщений: 636
|
так в конце кода надож было добавить s2[j]=0; вродь, и всё? (ну и размер строки разумеется 6)
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Зацените программу. Your Assistant. Подробности внутри. | Casper-SC | Софт | 24 | 30.07.2012 11:49 |
как реализовать смещение в richedit'e?подробности внутри | nuevegramodelamor | Помощь студентам | 11 | 28.05.2010 13:33 |
Посмотрите ошибки функции ...подробности внутри | NopeR | Общие вопросы C/C++ | 2 | 19.01.2010 18:46 |
Пара задачек по Паскалю подробности внутри-> | Nexx | Помощь студентам | 6 | 03.10.2007 09:08 |