Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как скопировать сос троки n символов 
V
    Опции темы
NOCaut
Дата 10.5.2011, 14:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 381
Регистрация: 5.12.2008

Репутация: нет
Всего: 0



Почему ета функция у меня не работает? мне нада скопировать n символов. Спасибо
Код

wchar_t* copy(wchar_t* strW,int n)
{
    strW[n] = L'\0';
    return strW;
}

PM MAIL   Вверх
bsa
Дата 10.5.2011, 14:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



NOCaut, думаю, твоя функция работает именно так, как ты ее сделал. Она "обрезает" длину строки до не более n символов и возвращает указатель на нее. Обычно, функции копирования принимают минимум два параметра - "откуда", "куда" и "сколько"/"не более".
PM   Вверх
NOCaut
Дата 10.5.2011, 14:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 381
Регистрация: 5.12.2008

Репутация: нет
Всего: 0



на первой строчке вилетает среда.

Код

 copy(L"sdvsdbsdhsdh",4);    

Нарушение прав доступа при записи!

Это сообщение отредактировал(а) NOCaut - 10.5.2011, 14:47
PM MAIL   Вверх
NOCaut
Дата 10.5.2011, 15:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 381
Регистрация: 5.12.2008

Репутация: нет
Всего: 0



спасиб вопрос решон 
Код

wchar_t mystr[]=L"sdvsdbsdhsdh";
copy(mystr, 4);


PM MAIL   Вверх
bsa
Дата 10.5.2011, 15:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



Цитата(NOCaut @  10.5.2011,  15:08 Найти цитируемый пост)
спасиб вопрос решон 


M
bsa
Если ответ на вопрос найден, то пометь тему решенной

PM   Вверх
NOCaut
Дата 10.5.2011, 16:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 381
Регистрация: 5.12.2008

Репутация: нет
Всего: 0



нет не закрита! я заведома незнаю какая строка
PM MAIL   Вверх
ИванМ
Дата 10.5.2011, 20:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1260
Регистрация: 19.6.2006
Где: СПб

Репутация: 3
Всего: 23



Есть стандартные функции.
Код

wchar_t *wcsncpy(
   wchar_t *strDest,
   const wchar_t *strSource,
   size_t count 
);


PM MAIL   Вверх
bsa
Дата 10.5.2011, 20:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



NOCaut, я тебе уже сказал, в чем у тебя ошибка. Ты модифицируешь исходную строку, а не создаешь новую. На твоем бы месте я эту функцию написал бы так:
Код
wchar_t* copy(wchar_t *dest, const wchar_t *src, size_t n)
{
  for(; (n-- != 0) && *src; ++dest, ++src)
    *dest = *src;
  *dest = 0;
  return dest;
}

PM   Вверх
NOCaut
Дата 12.5.2011, 10:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 381
Регистрация: 5.12.2008

Репутация: нет
Всего: 0



Всем спасибо

PM MAIL   Вверх
bsa
Дата 12.5.2011, 11:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196




M
bsa
NOCaut, если ответ на вопрос получен, то пометь тему решенной

PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0464 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.