取文件大小,单斜杠的本地路径不行。帮忙

时间:2021-01-04 09:27:06
刚学习VC,碰到问题。。帮忙解答
论坛看了好多文章,也试了好几个源码,但出现的问题都是要使用双斜杠。。
#include <iostream.h>
#include <windows.h>

void main()
{
char luj[]=

HANDLE       hFile;       
int       iSize;       
hFile = CreateFile( "D:\123.TXT",GENERIC_READ,FILE_SHARE_READ, NULL,OPEN_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);       
iSize = GetFileSize(hFile,NULL);       
CloseHandle(hFile);   
cout<<iSize<<endl;

}
像这样的代码,createfile第一个参数如果就按上边的执行的话,取到的就是0了。。必须的D:\\123.TXT这样子才能取的到文件大小。。我想不明白,求助,,而且代码执行后,我D盘会生成一个名字类似我们输入的文件的文件名的稀奇古怪的文件。。。。。。帮忙下

13 个解决方案

#1


转义字符....

#2


还好你的文件名是123.txt,要是是test.txt,或者no.txt,哈哈。不过也没什么,不能正确获取而已。

#3


D:\\123.TXT

#4


你看看这里的说明
http://baike.baidu.com/view/73.htm

#5


请楼主仔细看下一般字符 特殊字符 转义字符等概念 立刻会明白

#6


转义字符用\\表示\

#7


转义字符……具体的GOOGLE下吧。

#8


要使用双斜杠  "\\"

#9


转义字符

#10


获得文件大小可以这么写,简单方便!你可以试试
if(!File.Open(FilePathName,CFile::modeRead,NULL))
  {
CString StrSize;
StrSize.Format(_T("%s\n\n文件大小为:%.2f KB"),FilePathName,File.GetLength()/1024.0)
AfxMessageBox(StrSize);
}
else
 AfxMessageBox(_T(“获取失败”));

#11


hFile = CreateFile( "D:\123.TXT",GENE……
这个本身就说你创建一个名为123.txt的新文件到D盘.

#12


"D:\123.TXT",
应该修改为:
"D:\\123.TXT",

#13


谢谢大家,,明白是怎么一回事了。结贴了。。都不知道给分谁。。谢谢啦

#1


转义字符....

#2


还好你的文件名是123.txt,要是是test.txt,或者no.txt,哈哈。不过也没什么,不能正确获取而已。

#3


D:\\123.TXT

#4


你看看这里的说明
http://baike.baidu.com/view/73.htm

#5


请楼主仔细看下一般字符 特殊字符 转义字符等概念 立刻会明白

#6


转义字符用\\表示\

#7


转义字符……具体的GOOGLE下吧。

#8


要使用双斜杠  "\\"

#9


转义字符

#10


获得文件大小可以这么写,简单方便!你可以试试
if(!File.Open(FilePathName,CFile::modeRead,NULL))
  {
CString StrSize;
StrSize.Format(_T("%s\n\n文件大小为:%.2f KB"),FilePathName,File.GetLength()/1024.0)
AfxMessageBox(StrSize);
}
else
 AfxMessageBox(_T(“获取失败”));

#11


hFile = CreateFile( "D:\123.TXT",GENE……
这个本身就说你创建一个名为123.txt的新文件到D盘.

#12


"D:\123.TXT",
应该修改为:
"D:\\123.TXT",

#13


谢谢大家,,明白是怎么一回事了。结贴了。。都不知道给分谁。。谢谢啦