在C/C+中导出.sqlite文件+;(在windows上) 可以在不破坏C或C++的情况下移动.SQLite文件吗? 某处可能是另一个文件夹或其他东西

在C/C+中导出.sqlite文件+;(在windows上) 可以在不破坏C或C++的情况下移动.SQLite文件吗? 某处可能是另一个文件夹或其他东西,c++,c,sqlite,C++,C,Sqlite,如果是的话,你能给我一些建议吗。当然可以。它是一个常规文件,可以像任何其他文件一样四处移动 sqlite引擎本身将确保它不会损坏。它处于干净状态,或者在写入时被锁定(使用日志记录) 要记住的一点是,您不应该在没有可靠锁定的文件系统上使用数据库文件,例如在网络磁盘上。嗯,这取决于一点。它只是一个常规文件(假设没有连接到它,在当时写入到它),可以毫无问题地复制它。欢迎来到开放源代码系统的世界,这里的事情真的很简单(即您不需要更新注册表、一两个配置文件、重新应用安装程序设置或诸如此类的东西) 但是,如

如果是的话,你能给我一些建议吗。

当然可以。它是一个常规文件,可以像任何其他文件一样四处移动

sqlite引擎本身将确保它不会损坏。它处于干净状态,或者在写入时被锁定(使用日志记录)


要记住的一点是,您不应该在没有可靠锁定的文件系统上使用数据库文件,例如在网络磁盘上。

嗯,这取决于一点。它只是一个常规文件(假设没有连接到它,在当时写入到它),可以毫无问题地复制它。欢迎来到开放源代码系统的世界,这里的事情真的很简单(即您不需要更新注册表、一两个配置文件、重新应用安装程序设置或诸如此类的东西)


但是,如果有人在使用该文件,事情就变得棘手了。当一个应用程序打开一个sqlite文件时,它可以告诉操作系统将其锁定——默认情况下,对于打开的应用程序(使用特定标志)是打开的。在这种情况下,您将无法移动文件,因为操作系统将阻止它,直到锁定它的应用程序停止。

简单地像移动其他文件一样移动文件有什么问题?因此我可以使用CopyFile()?为什么不?它只是一个文件,可以作为文件复制。为什么它会被破坏?我不确定,我只是假设。谢谢你!您的意思是在访问文件时移动文件吗?还是只是一般的搬家?