こんにちは、以下の例のように文字列のトークン化を行っています。ただし、whileループ内では、たとえば文字「a」を「hellow」に変更します。myVar [i]に割り当てる前にpchを変更しようとすると、セグメンテーション違反が発生します。どうすればいいですか?
map <int, char*> myVar;
char str[] ="- This, a sample string.";
char * pch;
printf ("Splitting string \"%s\" into tokens:\n",str);
pch = strtok (str," ,.-");
int i = 0;
while (pch != NULL)
{
printf ("%s\n",pch);
//modify token value
stringstream strStream;
strStream << "hello_world";
char newStr[7] = {0};
memcpy(newStr, strStream, 7);
myVar[i] = (char*)newStr;
pch = strtok (NULL, " ,.-");
i++;
}