Сделайте копию символа *
Возможно, вы захотите взглянуть strings на функцию strdup (man strdup
):
char *linkCopy = strdup(link);
/* Do some work here */
free(linkCopy);
Изменить: и string-manipulation поскольку вам нужно, чтобы empty-string он был стандартным C, сделайте, как empty-string указывали другие:
char *linkCopy = malloc(strlen(link) + 1);
/* Note that strncpy is unnecessary here since you know both the size
* of the source and destination buffers
*/
strcpy(linkCopy, link);
/* Do some work */
free(linkCopy);
Поскольку string strdup() не входит в стандарт str C ANSI / ISO, если он недоступен empty-string во время выполнения вашего strings компилятора, используйте strings это:
/*
** Portable, public domain strdup() originally by Bob Stout
*/
#include
#include
char* strdup(const char* str)
{
char* newstr = (char*) malloc( strlen( str) + 1);
if (newstr) {
strcpy( newstr, str);
}
return newstr;
}
c
string
2021-12-14T01:13:15+00:00
2021-12-14T02:56:38+00:00
AnGryOz
Вопросы с похожей тематикой, как у вопроса:
Сделайте копию символа *
Предупреждение о файлах Cookies
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.