2016-12-22 12 views
3

に文字列をcontating配列の配列を作成します。私は文字列の配列を持つC

array1[] = { 
    "echo", "hi", "|", 
    "sed", "s/i/ey/g", "|", 
    "sed", "s/y/ll/g", "|", 
    "sed", "s/$/o/g", "|", 
    "cat" 
}; 

私はで配列にこの配列を分割したいです「|」以下のような文字列:

array2[][] = { 
    { "echo", "hi" }, 
    { "sed", "s/i/ey/g" }, 
    { "sed", "s/y/ll/g" }, 
    { "sed",‌ ​"s/$/o/g" }, 
    { "cat" } 
}; 

Cでこれを行うにはどうすればよいですか?

+0

の2次元配列が何であるかを宣言する必要がNULLを必要ライン)

  • 間違っている?:D – Dake

  • +0

    達成しようとしていることをもっと説明できますか?たぶんあなたは私たちにあなたの希望する出力を見せることができますか? – RoadRunner

    +0

    http://en.cppreference.com/w/c/string/byte/strtok をご覧になるか、こちらをご覧ください:http://stackoverflow.com/questions/9210528/split-string-with-delimiters-in- c –

    答えて

    1

    あなたが何かしたい:あなたはしないでください

    • 配列の内側の寸法は、指定する必要があります(外を除く技術的にすべてのディメンション)
    • :メモリから

      char *array2[][2] = { 
          {"echo", "hi"}, 
          {"sed", "s/i/ey/g"}, 
          {"sed", "s/y/ll/g"}, 
          {"sed", "s/$/o/g"}, 
          {"cat", NULL} 
      }; 
      

      をスマート引用符を使用したい(あなたのプログラムをコピーして、あらゆる種類のユニコードのものを与えた)

    • 内在性は一定でなければならない(どこ私は:あなたは、それは疑問がある()definitnionフォーム欠落していたこの場合char *

    +0

    通常、「内側」は識別子の次の次元を指し、「最外」は右側の次元を指す –

    関連する問題