数据库|mysql教程
数据库,存储,文件,路径,问题,这个,文章,是因为,最近,在
数据库-mysql教程
老虎机棋牌源码,vscode修改后加载,ubuntu 压缩磁盘,启动tomcat失败127,大阪爬虫商店,php木马清除,石家庄seo推广平台,开源企业网站系统4.0版,中国网站游戏模板lzw
写这个文章是因为最近在做数据库方面遇到了一个问题,如:定义一变量存储文件路径,string str= F:\\file\\test.avi,这里要写双斜杠,其中一个被当作转义字符去掉了。当再把这个str写到数据库时,发现写入的数据变成了str = F:filetest.avi。我晕,又去掉了
实时答题源码,ubuntu怎么重启系统,tomcat软件调试端口号,爬虫爬雪球,简述php概念及特点,SEO表示什么lzw
头像源码手机版,vscode怎样提交代码,ubuntu进入盘符,修改tomcat永久内存,简单爬虫教程,php 求数组的长度,怎样才算成功的seo,aspcms企业网站模板,求职网站网页模板lzw
写这个文章是因为最近在做数据库方面遇到了一个问题,如:定义一变量存储文件路径,string str= “F:\\file\\test.avi”,这里要写双斜杠,其中一个被当作转义字符去掉了。当再把这个str写到数据库时,发现写入的数据变成了str = ‘F:filetest.avi’。我晕,又去掉了我一个’\’,当然读取时得到的文件名字就错了。
什么原因呢,我们将文件路径读取到字符串中会数据库在存储时去掉一个’\’,解决的方法一是那我在写入数据库时就多写几个斜杠进去,这样做显然是不合理的,因为你不知道这个数据会被写到数据库几次,读取几次。
最终解决办法:
在写入数据库时将’\\’替换为’/’,在读取时再将’/’替换为’\\’,问题得解。以下是code
//将strPath中的str1替换为strstring 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,"/","\\");