открыть файл, рамки SimGrid:Msg_file_get_data в SimGrid
msg_file_t file = MSG_file_open("/scratch/bin/tesh", NULL);
XBT_INFO("file size is %zd", MSG_file_get_size(file));
Это нормально:
[carl:host:(1) 0.000000] [remote_io/INFO] file size is 356434
Тогда я хочу установить некоторые данные в этот файл. Во-первых, я создаю ЬурейеЕ структуру:
typedef struct {
char* number_used;
}data, *dataPtr;
Затем я поставил данные с MSG_file_set_data
на данный файл:
dataPtr data_1 = xbt_new(data, 1);
data_1->number_used = xbt_strdup("1");
MSG_file_set_data(file, data);
Но после закрытия файла я не могу получить значение data_1->number_used
:
file = MSG_file_open("/scratch/bin/tesh", NULL);
dataPtr data_2 = MSG_file_get_data(file);
XBT_INFO("number used %s", data_2->number_used);
Дает segmentation fault
, а значение data_2
- null
. Что я сделал не так?
Каков возможный способ преодолеть это? –