最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

数据库中存储文件路径问题

来源:动视网 责编:小采 时间:2020-11-09 14:44:15
文档

数据库中存储文件路径问题

数据库中存储文件路径问题:写这个文章是因为最近在做数据库方面遇到了一个问题,如:定义一变量存储文件路径,string str= F:\\file\\test.avi,这里要写双斜杠,其中一个被当作转义字符去掉了。当再把这个str写到数据库时,发现写入的数据变成了str = F:filetest.avi
推荐度:
导读数据库中存储文件路径问题:写这个文章是因为最近在做数据库方面遇到了一个问题,如:定义一变量存储文件路径,string str= F:\\file\\test.avi,这里要写双斜杠,其中一个被当作转义字符去掉了。当再把这个str写到数据库时,发现写入的数据变成了str = F:filetest.avi


写这个文章是因为最近在做数据库方面遇到了一个问题,如:定义一变量存储文件路径,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,"/","\\");

文档

数据库中存储文件路径问题

数据库中存储文件路径问题:写这个文章是因为最近在做数据库方面遇到了一个问题,如:定义一变量存储文件路径,string str= F:\\file\\test.avi,这里要写双斜杠,其中一个被当作转义字符去掉了。当再把这个str写到数据库时,发现写入的数据变成了str = F:filetest.avi
推荐度:
标签: 保存 文件 文章
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top