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

Чем можно заменить функцию strdup - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Найти произведение ненулевых элементов и количество нулевых элементов http://www.cyberforum.ru/cpp-beginners/thread1081150.html
дан вектор Х (20).найти произведение ненулевых элементов и количество нулевых элементов
C++ индексы элементов целочисленного деления индексы элементов целочисленного массива М(40) кратных 7 переписать в массив Х подряд. найти N количество. элементов. не кратных числу 7 элементов в М(40). http://www.cyberforum.ru/cpp-beginners/thread1081145.html
Обновил компилятор и появились ошибки C++
Здравствуйте сегодня обновил компилятор и тут же после открытия старой программы появились ошибки. На прежнем все работало.. 9 16 C:\Documents and Settings\fff\Рабочий стол\Proj(c++)\main.cpp character constant too long for its type C:\Documents and Settings\fff\Рабочий стол\Proj(c++)\main.cpp In function 'void pars(int*, int*)': 9 31 C:\Documents and Settings\fff\Рабочий...
C++ найти сумму элементов массива х(10),
найти сумму элементов массива Х(10),мне 16 индекс,а элЕменты с четными индексом записать в массив А. Найти произведения элементов массивов Х,А соответственно
C++ Найти минимальный элемент в массиве Y (25). Умножить на него все ненулевые элементы. http://www.cyberforum.ru/cpp-beginners/thread1081130.html
Найти минимальный элемент в массиве Y (25). Умножить на него все ненулевые элементы. Распечатать преобразованный массив Y.
C++ Найти максимальный и минимальный элементы массива и их сумму. Дан массив х(10).найти максимальный и минимальный элементы массива и их сумму. подробнее

Показать сообщение отдельно
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4920 / 2663 / 243
Регистрация: 29.11.2010
Сообщений: 7,416
25.01.2014, 14:38     Чем можно заменить функцию strdup
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <cstring>
#include <iostream>
 
char* my_strdup(const char* source)
{
    unsigned int len = strlen(source) + 1;
    char *buf = (char*)malloc(len);
    memmove(buf, source, len);
    return buf;
}
 
 
int main()
{
    char str[256] = "Orange apple";
    char *istr = my_strdup(str);
    printf ("%s\n", istr);
    free(istr);
}
Добавлено через 1 минуту
strdup - это вообще пережиток С.
В чем возникла потребность использовать вообще сишные функции?
В С++ существует std::string.
 
Текущее время: 23:04. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru