私は文字列(char *)の配列を取り、スレッドを操作できるようにそれらを等しく分割しようとしています。理論的には、ファイル名配列内の位置を参照する構造体を作成することができます。私はそれを説明するために少しグラフィックを提供しましたが、以下のコードでは、40のファイル名ごとにそれをメンバーstruct(struct配列)に追加します。私はそれが少し混乱していることを知っていますが、私はそれを明確にすることができる方法があれば教えてください。Cの配列への参照をコピーする
ファイル名内のオフセットされた場所への参照で、tの配列に結果が出るようにしたいのですが、コンパイラはt[i].files = filenames[incr];
を許可しないので、どうすればよいでしょうか?
typedef struct divided_files{
char** files;
int number_of_files;
} struct_struct;
int threads = 8;
struct_struct* t = malloc(threads*sizeof(struct_struct));
char* filenames[320]; //imagine it's populated with strings
int i;
int offset = 40;
int incr = 0;
for(i = 0 ; i < threads; i++){
t[i].files = filenames[incr];
incr += offset;
}
ここに質問がありますか?これまでのところ、 'number_of_files'を設定したいかもしれませんが、あなたの320文字列をうまく分割するように思えます。正確に320のファイルがなく、それらを均等に分割したいと心配していますか? –
OPがコンパイラのエラーを投稿した場合は、もっと明らかになっているはずです... @asdasda – qxz
最近の編集で明確にするようにしました – asdasda