Cの文字列配列に新しい要素を追加するにはどうすればよいですか?Cの文字列配列に要素を追加するには?
答えて
アレイを拡張する場合は、アレイのメモリを再割り当てする必要があります。 realloc
をチェックしてください。
文字列の場合は、strcat()
(some docs)を使用してください。メモリを許可した分だけ拡張することができますように心がけてください。別のポスターのように、realloc()
にする必要があります。
これは、配列と呼ばれるものによって異なります。
固定長配列が統計的に割り当てられている場合は、i番目の要素にデータをコピーするだけで済みます。
char foo[25][25];
strcpy(foo[1], "hello world"); /* "puts" hello world in the 2nd cell of the array */
あなたが動的配列を使用している場合は、まず、あなたのアイテムが同じように入れて、メモリを割り当てるotherwize、スペースがまだあることを保証しなければなりません。
'strdup(foo [1]、" hello world ");'、 'foo [1]'は常にインデックス1にすべきですか?配列に5つの要素があったとしたら、 'foo [6]'を使うでしょうか?ありがとう –
@James:要素を '0'から' 24'に変更することができます。そうしないと、メモリ内の間違った領域に書き込むと、データが失われたり、プログラムがクラッシュする可能性があります。 'foo [1]'は2番目の文字列の2番目の配列要素へのポインタです。 –
あなたはどこで 'strdup'を手に入れていますか?標準バージョンのようには見えません。 – bstpierre
Cの文字列は、文字の配列で構成されています。 printf呼び出しを使用して文字列を正しく印刷するには、NULL文字(\ 0)で終了する必要があります。
新しい要素ieを追加します。文字を文字列の最後に移動し、NULL文字に移動します。&新しい文字に置き換えて、その後にNULLを入れます。これは、新しい文字に対してすでに十分なスペースがあることを前提としています。
char str[100];
char new_char = 'a';
int i = 0;
...
// adds new_char to existing string:
while(str[i] != '\0')
{
++i;
}
str[i++] = new_char;
str[i] = '\0';
私はそのコードが最後の要素の前に配列/文字列をnullで終了するように見えます –
あなたのコンパイラでそれを試してください:この文脈では、 'str [i ++] = new_char;'は 'str [i] = new_char; i ++; 'まだ疑わしい場合は、http://stackoverflow.com/q/4865599/191776を参照してください。 –
- 1. Cの文字列の配列に文字列を追加するには
- 2. Bash配列の各要素に文字列を追加する方法は?
- 3. Pythonの文字列にset要素を追加するには
- 4. listView Row Controlに文字列配列を追加するC#asp.net
- 5. C++配列に要素を追加する方法は?
- 6. 文字列配列要素を文字列に変換するには?
- 7. 既存のjavascript配列に配列要素を追加する
- 8. Cプログラミング - 文字列配列要素の変更文字
- 9. 既存の各配列要素間に配列要素を追加する
- 10. 配列結合配列に要素を追加する
- 11. C++でオブジェクトの配列に要素を追加する
- 12. C#の配列に要素を追加する
- 13. C++での配列 - 配列の要素の追加
- 14. 配列の最後の要素に要素を追加する
- 15. 文字列内の要素にクラスを追加する
- 16. 文字列配列にアンダーラインを追加するには?
- 17. 文字列配列に数値を追加するには? Swift
- 18. C#配列に要素を追加する
- 19. NSArrayに文字列要素を追加する
- 20. PHPの空の配列に要素を追加するには?
- 21. JSONオブジェクトに文字列配列を追加する方法は?
- 22. C#文字のx個の文字列を文字列に追加する
- 23. objecitve cに数字の文字列を追加するには
- 24. C++文字列の追加
- 25. arraylistの内容を文字列配列に追加する
- 26. 追加/私は、文字列をフォーマットするためにC#では文字列
- 27. 配列に2つの要素を追加する方法は?
- 28. この配列に要素を追加する方法は?
- 29. 不明なサイズの配列に文字列を追加するC++
- 30. Cでテキストファイルに文字列を追加
あなたのアレイはすでにいっぱいですか?配列のサイズを増やそうとしていますか? – Davidann
これをチェックしてください、http://stackoverflow.com/questions/4694401/how-to-replicate-vector-in-c/4694762#4694762 –
その文字列の配列、または文字列(文字の配列)ですか?同様に、どちらのケースも独自の落とし穴があります。 – PeterK