首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Msg_file_get_data in SimGrid

Msg_file_get_data in SimGrid
EN

Stack Overflow用户
提问于 2016-09-19 11:17:07
回答 1查看 20关注 0票数 0

我通过SimGrid框架打开文件:

代码语言:javascript
复制
msg_file_t file = MSG_file_open("/scratch/bin/tesh", NULL);
XBT_INFO("file size is %zd", MSG_file_get_size(file));

没关系:

代码语言:javascript
复制
[carl:host:(1) 0.000000] [remote_io/INFO] file size is 356434

然后我想为这个文件设置一些数据。首先,我创建了ty胡枝子结构:

代码语言:javascript
复制
typedef struct {
    char* number_used;
}data, *dataPtr;

然后,我用MSG_file_set_data将数据设置为以下文件:

代码语言:javascript
复制
dataPtr data_1 = xbt_new(data, 1);
data_1->number_used = xbt_strdup("1");
MSG_file_set_data(file, data);

但关闭文件后,我无法获得data_1->number_used的值

代码语言:javascript
复制
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 faultdata_2的值是null。我做错什么了?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-19 11:25:09

msg_file_t对象只存在于MSG_file_open和MSG_file_close调用之间。再次调用同一个文件名的MSG_file_open将创建一个新的msg_file_t对象(一个新的描述符)。然后,附加到msg_file_t的用户数据是,而不是一个文件名上的多个打开/关闭的持久

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39571894

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档