parse_commandline()から項目struct内のファイルを変更したいと思います。構造体を関数から変更しますか?
strncpyを使用してmain()からitems->ファイルを変更できますが、parse_commandline()では問題はありません。 parse_commandline()を修正して、main()の項目に関する情報を受け取れるようにする必要があります。どうすればいいでしょうか?
typedef struct {
int pack_01;
int pack_02;
char file[100];
} items;
static items character_y = { 1, 1 }
parse_commandline(int argc, char *argv[])
{
/* PARSE COMMANDLINE ARGUMENTS */
}
int main(int argc, char* argv[])
{
items *ptr_items = &character_y;
parse_commandline(argc,argv);
return 0;
}
parse_commandlineに追加のパラメータを渡すだけではいかがですか。 'parse_commandline(int argc、char * argv []、items * ptr_items)'? –
これはうまくいかないようです - 警告:互換性のないポインタ型から 'parse_commandline'の引数3を渡してください 注: 'struct items *'は期待されていますが、引数は 'struct items **'型です。 –
'items'はデータ型インスタンスは変更できますが、インスタンスを指定していません。あなたのサンプルコードでは、 'items'の唯一のインスタンスは' main() 'と' parse_commandline() 'の両方で見える' character_y'です。それはおそらく悪いデザインではなく、なぜそれにアクセスできない。 – Clifford