首先我要说的是,我在过去5年左右的时间里一直用Java和C#编程,所以我的C技能非常生疏。
我遇到了分段错误,我不太清楚为什么。 使用gdb,我能够找到导致故障的线路,但我不确定是什么问题。请帮助:)
我从文件中读取一个整数值,这是几秒钟。假设我读取将该值保存到char token [100] ...
time_type sim_time;
char *s;
unsigned long time_sim;
s = token;
time_sim = strtoul(s,0,10);
int_to_time(time_sim, &sim_time);
Add_Event(eventId, agentId, &sim_time);
time_type是一个结构,它有一堆字段。 这是int_to_time的声明:
void int_to_time(unsigned long, struct time_type*);
现在这里是Add_Event的声明:
void Add_Event(int, int, struct time_type*);
对int_to_time的调用很顺利,但是下一次调用Add_Event会给sim_time带来分段错误。我究竟做错了什么?
提前致谢。我尽量不包含不必要的代码,但如果我没有包含足够的代码,请告诉我。
答案 0 :(得分:0)
我不知道您的time_type
和int_to_time
来自哪个库,但我会查看其文档,看看是否需要以某种方式初始化time_type
使用它作为int_to_time
的目的地或类似的东西。代码的表面并没有明显的错误,但是如果没有看到更多的代码就很难说清楚。