首页 / MYSQL / 数据库中存储文件路径问题
数据库中存储文件路径问题
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了数据库中存储文件路径问题,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1371字,纯文字阅读大概需要2分钟。
内容图文
写这个文章是因为最近在做数据库方面遇到了一个问题,如:定义一变量存储文件路径,string str= F:\\file\\test.avi,这里要写双斜杠,其中一个被当作转义字符去掉了。当再把这个str写到数据库时,发现写入的数据变成了str = F:filetest.avi。我晕,又去掉了
写这个文章是因为最近在做数据库方面遇到了一个问题,如:定义一变量存储文件路径,string str= “F:\\file\\test.avi”,这里要写双斜杠,其中一个被当作转义字符去掉了。当再把这个str写到数据库时,发现写入的数据变成了str = ‘F:filetest.avi’。我晕,又去掉了我一个’\’,当然读取时得到的文件名字就错了。
什么原因呢,我们将文件路径读取到字符串中会数据库在存储时去掉一个’\’,解决的方法一是那我在写入数据库时就多写几个斜杠进去,这样做显然是不合理的,因为你不知道这个数据会被写到数据库几次,读取几次。
最终解决办法:
在写入数据库时将’\\’替换为’/’,在读取时再将’/’替换为’\\’,问题得解。以下是code
//将strPath中的str1替换为str string CMyFileInfo::string_replace(string &strPath,const string &str1,const string &str) { string::size_type pos=0; string::size_type a=str1.size(); string::size_type b=str.size(); while((pos=strPath.find(str1,pos))!=string::npos) { strPath.replace(pos,a,str); pos+=b; } return strPath; }写入数据库时执行:
string str= “F:\\file\\test.avi”; string_replace(str,"\\","/");
读取时执行:
str = string_replace(str,"/","\\");
内容总结
以上是互联网集市为您收集整理的数据库中存储文件路径问题全部内容,希望文章能够帮你解决数据库中存储文件路径问题所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。