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

Реализация strcpy(); - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 45, средняя оценка - 4.69
programmerC++
3 / 3 / 1
Регистрация: 04.11.2010
Сообщений: 38
04.11.2010, 18:39     Реализация strcpy(); #1
Какими способами функцию strcpy() библиотеки string можно выразить через указатели?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.11.2010, 18:39     Реализация strcpy();
Посмотрите здесь:

strcpy C++
C++ свой strcpy()
strcpy C++
Функция strcpy C++
C++ strcpy()
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ISergey
Maniac
Эксперт С++
 Аватар для ISergey
1331 / 864 / 50
Регистрация: 02.01.2009
Сообщений: 2,622
Записей в блоге: 1
04.11.2010, 18:51     Реализация strcpy(); #2
programmerC++, в смысле через указатели?
programmerC++
3 / 3 / 1
Регистрация: 04.11.2010
Сообщений: 38
04.11.2010, 18:59  [ТС]     Реализация strcpy(); #3
ISergey, ну к примеру strlen()
C++
1
2
3
4
5
int Len(char *s) {
 char *p; int i;
    for(i = 0, p = s; *p != '\0'; p++, i++) ;
    return i;
}
через char
ISergey
Maniac
Эксперт С++
 Аватар для ISergey
1331 / 864 / 50
Регистрация: 02.01.2009
Сообщений: 2,622
Записей в блоге: 1
04.11.2010, 19:18     Реализация strcpy(); #4
это?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
 
char *my_strcpy(char *l, const char *r){
    while(*r) *l++ = *r++;
    ++*l = '\0';
    return l;
}
 
int main(){
    char buff[64];
    my_strcpy(buff, "string");
 
    std::cout << buff << std::endl;
    return 0;
}
programmerC++
3 / 3 / 1
Регистрация: 04.11.2010
Сообщений: 38
05.11.2010, 06:10  [ТС]     Реализация strcpy(); #5
ISergey, можно и так
C++
1
2
3
4
char *Cpy(char *s, char *t) {
 while(*t!='\0') *(s++) = *(t++);
return t;
}
ISergey, а есть ещё варианты?
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9373 / 5423 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
05.11.2010, 06:22     Реализация strcpy(); #6
Цитата Сообщение от programmerC++ Посмотреть сообщение
а есть ещё варианты?
C
1
2
3
4
5
6
char * strcpy(char * dst, const char * src){
  char * d = dst;
  while ( *d++ = *src++ )
    ;
  return dst;
}
Добавлено через 1 минуту
Цитата Сообщение от programmerC++ Посмотреть сообщение
ISergey, можно и так
C++
1
2
3
4
char *Cpy(char *s, char *t) {
 while(*t!='\0') *(s++) = *(t++);
return t;
}
ну и на что по-вашему функция вернёт указатель?

Добавлено через 2 минуты
ISergey, кстати, тот же вопрос...
ISergey
Maniac
Эксперт С++
 Аватар для ISergey
1331 / 864 / 50
Регистрация: 02.01.2009
Сообщений: 2,622
Записей в блоге: 1
05.11.2010, 14:32     Реализация strcpy(); #7
easybudda, Кстати да.. вернет хз куда.. ( привыкаю до асма, там написал uses esi edi и проблемы нет =) )
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.11.2010, 17:53     Реализация strcpy();
Еще ссылки по теме:

C++ Своя реализация strcpy - не пойму где ошибка!
strcpy и VS2012 C++
C++ Strcpy в vs2012

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

Или воспользуйтесь поиском по форуму:
programmerC++
3 / 3 / 1
Регистрация: 04.11.2010
Сообщений: 38
05.11.2010, 17:53  [ТС]     Реализация strcpy(); #8
easybudda, возвращает на начало строки.
Yandex
Объявления
05.11.2010, 17:53     Реализация strcpy();
Ответ Создать тему
Опции темы

Текущее время: 01:27. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru