所以,我打算使用sqlite3来更新skype的main.db文件。奇怪的sqLite数据库字符串文件路径错误
我使用sqlite3_open函数来打开这样的连接。
int rc = sqlite3_open(filepath,db);
我想动态地做文件路径字符串,但一个奇怪的错误让我发疯。
我有两个字符串szFile和szFilePath,szFile是一个测试字符串,它将包含数据库文件的实际路径,而szFilePath是同一个字符串,只有这次是由函数动态生成的。
这个东西就在执行sqlite3_open函数之前,两个字符串就像你在屏幕截图上看到的一样,我甚至会发布内存供你查看。
现在,尽管是完全一致的,不管有多少次我运行此代码只szFile工作,与其他一个给我一个“无法打开文件路径”错误,并完全令我困惑。另外,如果这是正常的,我不会没有,但通过在下一个设置断点,我可以看到szFilePath丢失了它的值(用十六进制值填充)。
什么可能是错的?
那么如何让它指向堆上的数组呢? – 2011-06-05 18:12:49
@Panayiotis - 回答修改给你几个选项。 – 2011-06-05 18:16:27
非常感谢!尽管我想知道如何通过动态分配来完成它,但我仍然设法让它与第二个选项一起工作。 您是否会友善地给我一个关于如何使用malloc来做的代码示例? – 2011-06-05 18:28:56