私は2つの構造体と変数型Bookを持っています
Book book_struct[100];
typedef struct Book{
int id;
char title[256];
char summary[2048];
int numberOfAuthors;
Author * authors;
};
typedef struct Author{
char firstName[56];
char lastName[56];
};
各本のタイトルを変更したいとき
//title
char *title_char=new char[parsedString[1].size()+1];
title_char[parsedString[1].size()]=0;
memcpy(title_char,parsedString[1].c_str(),parsedString[1].size());
strcpy(books_struct[z].title, title_char);
ここで、parsedStringは、ID、タイトル、概要、著者の数、および姓と名を含む配列です。
上記のコードはタイトルに対して機能します
しかし、次のコードを使用して著者の姓と名を変更しようとすると
//author firstname
char *author_fn_char=new char[parsedString[4].size()+1];
author_fn_char[parsedString[4].size()]=0;
memcpy(author_fn_char,parsedString[4].c_str(),parsedString[4].size());
strcpy(books_struct[z].authors->firstName, author_fn_char);
プログラムがコンパイルされ、実行すると、Windowsエラーとして「プログラムが応答していません」と表示され、終了します...