Преобразование const char * в char * во время компиляции

Рассмотрим следующий тривиальный файл include:

#ifndef TRIVIAL_INCLUDE_FILE
#define TRIVIAL_INCLUDE_FILE
static int *x = new x (0);
#endif
-1
задан AAAbbbCCCddd 3 March 2019 в 09:51
поделиться

1 ответ

Более простой способ - использовать функцию strncpy (которая более безопасна, чем просто использование strcpy).

#include <iostream>
#include <string.h>

using namespace std;

int main()
{
  //char oldString[]= "Hello World!";
  const char* oldString = "Hello World!";
  char newString[40];

  /* copy to sized buffer (overflow safe): */
  strncpy ( newString, oldString, sizeof(newString) );

  cout << newString;  

    return 0;
}

Другой способ - выделить с помощью malloc место, куда вы хотите скопировать строку. После этого вы можете изменить его по своему усмотрению.

Дайте мне знать, помогло ли это вам.

0
ответ дан acarlstein 3 March 2019 в 09:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: