|
sqlite3_open16 не создает файл базы данных, если файл не существует
|
|||
---|---|---|---|
#18+
Всем доброго времени суток Собственно пробема в названии поста Согасно документации sqlite3_open16() как и sqlite3_open() создает новый файл базы данных, если файл не существует. Однако на самом деле файл почему то не создается, хотя функция sqlite3_open16 возвращает SQLITE_OK а также параметр sqlite3* не равен 0 Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
Не могу понять в чем проблема Зараннее благодарен за совет С уважением YK13 PS. Использование sqlite3_open прошу не предлагать ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2014, 12:30 |
|
sqlite3_open16 не создает файл базы данных, если файл не существует
|
|||
---|---|---|---|
#18+
решил проблему path должен быть не string а wstring ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2014, 13:21 |
|
sqlite3_open16 не создает файл базы данных, если файл не существует
|
|||
---|---|---|---|
#18+
Неправильно ты читаешь документацию. Для sqlite3_open() путь должен быть в UTF-8, а для sqlite3_open16() путь должен быть в UTF-16. А string там или wstring это дело десятое и зависящее от рантайм-библиотеки. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2014, 18:06 |
|
sqlite3_open16 не создает файл базы данных, если файл не существует
|
|||
---|---|---|---|
#18+
White OwlДля sqlite3_open() путь должен быть в UTF-8, а для sqlite3_open16() путь должен быть в UTF-16. Я об этом не упомянул потому что это понятно для того кто читает документацию Говоря о том, что должен быть wstring а не string, я имел ввиду что при использовании string у меня возникла проблема, которая описана в этой теме, и которая была решена при использовании wstring (точнее wchar_t*) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2014, 22:56 |
|
sqlite3_open16 не создает файл базы данных, если файл не существует
|
|||
---|---|---|---|
#18+
YK13, Ты не понял.... Не важно какой класс ты используешь. string или wstring это в данном случае совершенно не важно. Можно жить с любым из них (и string предпочтительнее). Не важно какой тип данных ты используешь. char или wchar_t это совершенно вторично. Можно использовать любой из них. Да, в твоем частном случае замена одного класса на другой волшебным образом спасло. Но это частный случай который может произойти только на MSVS и только при использовании std. Важно то чтобы строка в памяти была записана в UTF-8 или UTF-16. Причем обрати внимание, что любую UTF-8 строку можно прочитать как UTF-16. Поэтому, у тебя при использовании string выдавалось что файл создался, но ты его при этом не видел. Файл базы действительно создавался, но в каком каталоге и под каким именем ты узнаешь только если попытаешься перекодировать свою строку из UTF-8 в UTF-16. Ну или поищешь по своему диску файлы со странными именами. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.09.2014, 03:16 |
|
sqlite3_open16 не создает файл базы данных, если файл не существует
|
|||
---|---|---|---|
#18+
White OwlПоэтому, у тебя при использовании string выдавалось что файл создался, но ты его при этом не видел. Файл базы действительно создавался, но в каком каталоге и под каким именем ты узнаешь только если попытаешься перекодировать свою строку из UTF-8 в UTF-16. Ну или поищешь по своему диску файлы со странными именами. 2 YK13 это действительно так? создавался файл с левым называнием и расположением? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.09.2014, 10:50 |
|
sqlite3_open16 не создает файл базы данных, если файл не существует
|
|||
---|---|---|---|
#18+
PPA2 YK13 это действительно так? создавался файл с левым называнием и расположением? Честно говоря, не успел проверить, так как проблема решилась вышеописанным способом. Но то, что при переводе в utf16 string (именно string а не wstring) в которой содержатся специальные символы (кириллица или например немецкие символы с умлаутами) эти символы заменяются на некорректные - это точно ... |
|||
:
Нравится:
Не нравится:
|
|||
23.09.2014, 17:37 |
|
|
start [/forum/topic.php?fid=54&fpage=11&tid=2008748]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
45ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
45ms |
get tp. blocked users: |
2ms |
others: | 10ms |
total: | 147ms |
0 / 0 |