所以,我打算使用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