| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Программирование под Unix/Linux > Как добавить N символов ? |
| Автор: admsasha 11.10.2006, 12:24 |
| Подскажите команду которая добавляет указанное кол-во символов. пример: printf("%s",repl("x",3)); вывод: xxx P.S. repl сам придумал, что бы было нагляднее |
| Автор: unixman 11.10.2006, 12:50 |
| void charadd(char *str,int count) { for(int i=0;i<count;i++) str[strlen(str)]='X'; } чо то такое |
| Автор: chaos 11.10.2006, 12:57 | ||||
бред какой-то - нафиг в одно и ту же ячейку памяти в цикле фигачешь? потом не мешало бы "расширить" строку в случае необходимости Добавлено @ 13:02 могу предложить такой вариант(можно заточить под свои нужды), для духовной пищи
|
| Автор: chaos 11.10.2006, 13:13 | ||
как-нибудь так:
|
| Автор: unixman 11.10.2006, 13:45 |
| в одну не фигачит, strlen отрабатывает ну и С строка использовалась, а не string |
| Автор: sergejzr 11.10.2006, 14:14 |
А что эта функция по твоему должна делать, если не циклом прибавлять? Кстати, уточни, тебе знаки надо "умножать" или строки. |
| Автор: admsasha 11.10.2006, 15:02 | ||
пробелы =) Добавлено @ 15:03 сделал так
чем плохо ? |
| Автор: MAKCim 11.10.2006, 21:40 |
| только непонятно, причем здесь Unix |
| Автор: bsa 11.10.2006, 22:01 | ||||||||
А плохо тем, что ты делаешь лишнюю операцию:
А потом, раз ты используешь C++, то используй его везде, а не только в данном месте. А лучше вообще так:
|
| Автор: V.A.KeRneL 13.12.2006, 22:56 | ||||
| Ребят, ну что ж вы всё на плюсе-то ответы даёте? По-моему, автор вопроса пишет на чистых Сях. Да и к тому же функции, не соответствующие спецификации admsasha. Если нужно повторить именно N СИМВОЛОВ, то не нужно передавать `char*', достаточно обычного `char':
Если же нужно, действительно, в общем виде, повторить N раз СТРОКУ символов, то так:
|