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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 17, средняя оценка - 4.88
Debert
0 / 0 / 0
Регистрация: 19.12.2010
Сообщений: 31
#1

strdup(), strcpy() - C++

28.12.2010, 21:47. Просмотров 2177. Ответов 4
Метки нет (Все метки)

Помогите написать свою ф-ю реализующую те же действия, что и ф-и strdup() , strcpy()
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.12.2010, 21:47     strdup(), strcpy()
Посмотрите здесь:

Работа функции strdup - C++
Добрый день. Я никак не могу понять работу функции strdup. Я понимаю что это не фриланс, но возможно у кого-то есть какая-то...

Чем можно заменить функцию strdup - C++
Здравствуйте. Я хочу использовать в своем проекте одну библиотеку, но компилятор мне ругается при сборке, что ф-я strdup не объявлена....

strcpy - C++
прога пашет,но после сортировки по результату,он выдает какойто корявый список,тоесть strcpy неверно пашет...... че с ней теперь...

strcpy - C++
Недавно начал программировать на C++, в типах плохо ещё разбираюсь... не могу понять, что надо исправить, чтобы код: char szSendBuff; ...

strcpy() - C++
Ребята! Помогите с задачкой! С помощью функции strcpy() заменить в строке три символа, начиная со второго. Для замены вводим короткую...

Strcpy в vs2012 - C++
Недавно перешел из devc++ в vs2012, после копирования кода в vs2012, выдает ошибку при использовании ф-ии strcpy (команду для препроцессора...

Функция strcpy - C++
цель очевидна. почему не работает? :-| #include <iostream> void strcpy(char *from, char *to) { to=from; } int main() { ...

strcpy и VS2012 - C++
// newintro.cpp // познакомимся с оператором new #include <iostream> #include <cstring> #include <string.h> using namespace std; ...

Strcpy не работает - C++
Привет :) Написал программу, не понимаю почему не работает. Объясните пожалуйста) КОД #include <iostream> #include...

strcpy/strcpy_s - C++
Добрый вечер! Есть класс (упрощенно): class const_string { public: const_string(char const* s) { strcpy(str, s); /...

свой strcpy() - C++
кто может написать или показать, или подсказать код к функции либы стринг.н - strcpy() я уже замучался искать правильный вариант, 3...

Реализация strcpy(); - C++
Какими способами функцию strcpy() библиотеки string можно выразить через указатели?


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
rangerx
1932 / 1541 / 141
Регистрация: 31.05.2009
Сообщений: 2,909
28.12.2010, 22:37     strdup(), strcpy() #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
char* myStrcpy(char* dest, const char* src)
{
    char* pDest = dest;
    while( (*dest++ = *src++) );
    return pDest;
}
 
char* MyStrdup(const char* src)
{
    char* pDest = (char*)malloc(sizeof(char) * strlen(src)+1);
    return myStrcpy(pDest, src);
}
Debert
0 / 0 / 0
Регистрация: 19.12.2010
Сообщений: 31
29.12.2010, 01:26  [ТС]     strdup(), strcpy() #3
Цитата Сообщение от rangerx Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
char* myStrcpy(char* dest, const char* src)
{
    char* pDest = dest;
    while( (*dest++ = *src++) );
    return pDest;
}
 
char* MyStrdup(const char* src)
{
    char* pDest = (char*)malloc(sizeof(char) * strlen(src)+1);
    return myStrcpy(pDest, src);
}
Если можно, комментарии, пожалуйста

Добавлено через 4 минуты
и почему return myStrcpy(pDest, src); ?

мне нужно 2 реализации для ф-й отдельно. если я правильно понял здесь две вместе. а мне нужно просто по отдельности, это как два варианта я дал
Хохол
Эксперт C++
475 / 443 / 13
Регистрация: 20.11.2009
Сообщений: 1,292
29.12.2010, 01:38     strdup(), strcpy() #4
C++
1
2
3
4
5
6
7
char* MyStrdup(const char* src)
{
    char* pDest = (char*)malloc(sizeof(char) * strlen(src)+1);
    char* dest = pDest;
    while( (*dest++ = *src++) );
    return pDest;
}
easybudda
Эксперт С++
9456 / 5469 / 927
Регистрация: 25.07.2009
Сообщений: 10,495
29.12.2010, 02:58     strdup(), strcpy() #5
Цитата Сообщение от Debert Посмотреть сообщение
мне нужно 2 реализации для ф-й отдельно. если я правильно понял здесь две вместе. а мне нужно просто по отдельности
Что просили, то и получили. Две функции, реализующие действие strcpy() и strdup(), что не так-то? То, что вторая функция первую использует? Ну вставьте вместо вызова функции её тело и будет две независимых функции...
Вот ещё для разнообразия (в прочем strdup() так не правильно делать. Если malloc() не отработает - программа грохнется...)
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
char * mystrcpy(char * dst, const char * src) {
    if ( *dst = *src )
        mystrcpy(dst + 1, src + 1);
    return dst;
}
 
char * madstrdup(const char * s) { return mystrcpy(malloc(strlen(s) + 1), s); }
 
int main(void){
    char * p;
    printf("%s\n", ( p = madstrdup("Hello, world!") ) );
    free(p);
    return 0;
}
Yandex
Объявления
29.12.2010, 02:58     strdup(), strcpy()
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru