2

入力時にサイズが不明な入力文字列に、正確な精度で動的にメモリを割り当てたいと思います。つまり、文字列が「スタック」の場合、6 バイトのみを割り当てたいと思います。

入力に応じて配列の上限を増やし続けることが唯一の方法だと思いますが、コードの一部を理解できません。

4

2 に答える 2

2

strdup()あなたの友達です。

char *p = strdup("stack");
于 2013-09-23T03:33:37.833 に答える
1

文字列の長さを測定してから割り当てる必要があります。

長さ:

int len = strlen(input_string);

メモリを割り当てる

char *p = malloc (sizeof(char) * len + 1) ;

それを保存します

strcpy (p, input_string);
于 2013-09-23T03:16:45.733 に答える