- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
struct Message
{
char type;
double idNum;
char *Time;
char *asset;
bool BS;
float price1;
int shares1;
float price2;
int shares2;
};
typedef struct Message Message;
struct Asset
{
oBook *OrderBook;
Trade *TradeBook; //will point to the latest trade
int QtyTraded;
float ValueTraded;
char* Time;
};
typedef struct Asset Asset;
int main(int argc, char*argv[])
{
Message* newMessage;
Asset* Check;
//manipulation and initialization of Check, so that it holds proper values.
newMessage = parser("N,2376,01/02/2011 09:15:01.342,JPASSOCIAT FUTSTK 24FEB2011,B,84.05,2000,0,0",newMessage);
// MessageProcess(newMessage,AssetMap);
printf("LAST TRADE ADDRESS %p LAST TRADE TIME %s\n",Check->TradeBook,Check->Time);
}
Message* parser(char *message,Message* new_Message)
{
char a[9][256];
char* tmp =message;
bool inQuote=0;
int counter=0;
int counter2=0;
new_Message = (Message*)malloc(sizeof(Message));
while(*tmp!='\0')
{
switch(*tmp)
{
case ',': if(!inQuote)
{
a[counter][counter2]='\0';
counter++;
counter2=0;
}
break;
case '"':
inQuote=!inQuote;
break;
default:
a[counter][counter2]=*tmp;
counter2++;
break;
}
tmp++;
}
a[counter][counter2]='\0';
new_Message->type = *a[0];
new_Message->Time = &a[2][11];
new_Message->asset = a[3];
if(*a[4]=='S')
new_Message->BS = 0;
else
new_Message->BS = 1;
new_Message->price1=atof(a[5]);
new_Message->shares1=atol(a[6]);
new_Message->price2=atof(a[7]);
new_Message->shares2=atol(a[8]);
new_Message->idNum = atoi(a[1]);
return(new_Message);
}
这里有一个严重的内存冲突,在两个不同范围的变量中。我使用 gdb 进行了调查,似乎 new_Message->Time
的地址等于 Check->Time
的地址。
它们都是不同类型的结构 我正在尝试解决这个问题,因为当解析器更改 new_Message->Time
的值时,它会操纵 Check 的内容->时间
请建议如何解决此问题。我已经失去(花费)了大约 10 个小时并计算解决这个问题,还有大量的头发。
索罕
编辑 添加结构定义
最佳答案
您正在使用堆栈分配对象的地址来初始化 new_Message->Time = &a[2][11];
关于c - 严重内存冲突: Variables clashing in C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5043044/
首先,我知道如何解决该问题,我只是想了解为什么会发生此问题。错误信息: users.profile: Reverse query name for field 'address' clashes wi
过去一周,我一直在通过基础教程学习 HTML 和 CSS,并一直在尝试重新创建我多年前使用 Squarespace(一个简单的构建器)创建的网站。昨天我无法添加图像链接,但通过添加 div 标签实现了
我有一个很大的代码库,其中包括两个主要的命名空间:引擎和应用程序。 引擎将一个 vector3 类定义为另一个 vector3 类的 typedef,具有位于引擎命名空间而不是 vector3 类中的
假设我们有一个具有以下方法的 istream 子类: SomeStream& operator>>(Something& something) { // .. write data into
struct Message { char type; double idNum; char *Time; char *asset; bool BS;
我一直在研究 Chisel 以及各种 Lavas(Kansas、Chalmers 和 Xilinx 口味)和 CLaSH 的来源。我试图了解 Chisel 与其他产品的主要卖点是什么。我发现的主要方法
我不断收到错误 403 无效授权, token 完全正确。还有其他人使用 Clash API 吗?到目前为止找不到任何可用的代码。 这是我用于测试请求的代码: import java.io.*; im
我正在尝试使用 Swipe JS 2使用 jQuery Mobile(仔细考虑注释 here )。 但是,我发现尝试使用 float: left 时存在冲突问题。我不能干扰 Swipe JS 2 引用
我在 tblEmployee 中有一个用于存放员工照片的图像字段。 当我尝试在 uploader 中保存没有图像文件的员工详细信息时,它抛出错误 "Operand type clash: nvarch
最近在一个项目中升级了eclipse和java版本,出现了一些错误。我尝试重现并发现以下设置导致使用 Java 1.8 的 Eclipse Oxigen.3a (4.7.3a) 中出现错误,而同样适用
运行 FitNesse 测试时经常会出现以下错误消息(至少在五次运行中至少有一次): Unable to start test system 'slim': fitnesse.slim.SlimErr
当我 syncdb 时,我收到许多这样的错误: transcription.transcription1: Accessor for field 'participant_content_typ
我已经实现了 SSO for tomcat在 config.xml 中使用阀门,但是我所有的应用程序都使用一个领域,而服务器 (geronimo) 使用另一个领域。 自从引入这个之后,他们现在发生了冲
尝试在我的 tomcat 实例的 context.xml 中设置几个 JDBC 连接,但很难理解为什么有些名称似乎冲突。 通过名称的一些组合,我得到以下结果: java.lang.ClassCastE
我有很多具有投票功能的模型,所以我创建了一个这样的结构: class Voteable(models.Model): likes_balance = models.IntegerField(d
我正在创建一个覆盖方法签名的类,该方法签名的删除在 2 个已实现的接口(interface)之间是相同的,但在泛型类型方面有细微差别(一个是方法推断类型,另一个是推断类类型) .我正在寻找一个简洁的解
我正在使用 CakePHP 3.2。我有两张 table service_requests和 coupon_historyservice_requests table CREATE TABLE `se
首先,我只能编辑代码的 CSS/LESS 部分。 我遇到了一个问题,有一个 span 在 :hover 上添加了背景颜色,单击它时有不同的背景,它通过 JS 获得了一个 .active 类。 问题是,
我有一个表,我试图返回特定日期的 Time 和 Productno 列。当我尝试以下 SQL 命令时,它返回错误:“操作数类型冲突:日期与 int 不兼容”。 我在论坛上进行了研究,这是大多数人实现类
from os import system system("ping www.twitter.com") system("ping www.yahoo.com") system("ping www.f
我是一名优秀的程序员,十分优秀!