![]() |
|
Модераторы: bsa |
![]()
|
|
| Артем125 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 149 Регистрация: 2.9.2009 Репутация: нет Всего: нет |
Почему-то копирует только одну строку, а в потоке допустим 5 строк
Это сообщение отредактировал(а) Артем125 - 11.11.2009, 13:38 |
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
причем только последнюю, да?
попробуй использовать strncat вместо strncpy. |
|||
|
||||
| Артем125 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 149 Регистрация: 2.9.2009 Репутация: нет Всего: нет |
ну в общем то пробовал, только в начале появляется то что в приложении, хотя если в цикле использовать std::cout << buf то выводит как надо 4 строки, и не пойму откуда мусор и что это такое
Присоединённый файл ( Кол-во скачиваний: 15 )
___.JPG 41,91 Kb |
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
Артем125, перед циклом вставь строку: *s = '\0';
|
|||
|
||||
| Dov |
|
|||
![]() аСинизатор ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1721 Регистрация: 10.5.2003 Где: Эрец-Исраэль Репутация: 11 Всего: 88 |
-------------------- Тут вечности запах томительный, И свежие фрукты дешевые, А климат у нас – изумительный, И только соседи – #уевые. Игорь Губерман. |
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
Dov, отличное предложение. В данном случае необходимо чтобы только в начале строки был нулевой символ... А ты предлагаешь всю занулить.
Артем125, раз на С++ пишешь, может стоит обратить внимание на std::string, std::istream, std::getline?
|
|||
|
||||
| Артем125 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 149 Регистрация: 2.9.2009 Репутация: нет Всего: нет |
Спасибо Вам друзья,
а помогло *s = '\0'; Получается что функция strncpy присоединяет только к строки если она не пуста? |
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
strncpy вообще ничего никуда не присоединяет. Она копирует одну строку в другую. Читай внимательно документацию.
Добавлено через 35 секунд
|
|||
|
||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |