VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 2002|回复: 8

请教各位大神关于参数的问题

[复制链接]
48_avatar_middle
最佳答案
0 
在线会员 发表于 2022-1-14 11:31:34 | 显示全部楼层 |阅读模式
各位大神,在C/C++ Windows 程序设计 | 资料›第07课 文件的创建、打开与关闭操作 | 作业 这个里面第一题测试某一路径下文件是否存在
做是做出来了 代码如下
BOOL CheckFile(LPCTSTR lpctss)
{
        BOOL EXISTING;
        HANDLE hCreateFile = CreateFile(lpctss, GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
        if (hCreateFile != INVALID_HANDLE_VALUE)
        {
                EXISTING = 1;
                        }
        else
        {
                EXISTING = 0;
        }
        CloseHandle(hCreateFile);
        return EXISTING;
}
但疑惑的是红色字的参数能不能不用这个指针,这样调用该函数时输入的参数只要填写普通的就行 ,而不是加L"".谢谢




上一篇:找不到 urldownloadtofileW
下一篇:VS2015创建MFC文件出现的问题
57_avatar_middle
最佳答案
0 
donate_vip 发表于 2022-1-14 11:54:37 | 显示全部楼层
你问的大概是。把字符集改成多字符集。项目--右键---属性--常规--字符集
48_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2022-1-14 13:09:03 | 显示全部楼层
不是  ,HANDLE CreateFile(LPCTSTR lpFileName, //普通文件名或者设备文件名 这个第一个参数时指向文件名的指针,时一个字符串,那么我传递进去的就必须是一个指针 ,我怎么设置变量然后让这个指针指向变量
57_avatar_middle
最佳答案
0 
donate_vip 发表于 2022-1-14 13:43:29 | 显示全部楼层
小艾她爹 发表于 2022-1-14 13:09
不是  ,HANDLE CreateFile(LPCTSTR lpFileName, //普通文件名或者设备文件名 这个第一个参数时指向文件名的 ...

我是个菜鸟。不是很懂你的问题。不过有被你的名字冒犯到请教各位大神关于参数的问题
48_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2022-1-14 14:30:58 | 显示全部楼层
吃糖 发表于 2022-1-14 13:43
我是个菜鸟。不是很懂你的问题。不过有被你的名字冒犯到

我的名字怎么了?
46_avatar_middle
最佳答案
7 
在线会员 发表于 2022-1-16 09:27:04 | 显示全部楼层
BOOL CheckFile(char* lpctss)
{
        BOOL EXISTING;
        HANDLE hCreateFile = CreateFileA(lpctss, GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
        if  (hCreateFile != INVALID_HANDLE_VALUE)
        {
                EXISTING = 1;
        }
        else
        {
                EXISTING = 0;
        }
        CloseHandle(hCreateFile);
        return EXISTING;
}

不鼓励这样做,CreateFileA的调用最终还是要被转换为CreateFileW调用(因为这样开发Windows的大神们只需要维护一套代码就可以了)。而且还有以后,比如说不定哪天Windows就取消了对多字节字符集的支持了呢。请教各位大神关于参数的问题
48_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2022-1-17 11:23:25 | 显示全部楼层
screen_ok 发表于 2022-1-16 09:27
BOOL CheckFile(char* lpctss)
{
        BOOL EXISTING;

哦?还有这等事情,那么现在学的一些东西岂不是要回炉?
46_avatar_middle
最佳答案
7 
在线会员 发表于 2022-1-18 08:09:03 | 显示全部楼层
小艾她爹 发表于 2022-1-17 11:23
哦?还有这等事情,那么现在学的一些东西岂不是要回炉?

系统调用这些东西都是会有变化的,不要说从DOS到Windows的跨越了,就是Windows本身也是在不断变化的(比如16位、32位、64位)。学编程重要的还是解决问题的思路和方法,好的思路和方法才是通用的。
48_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2022-1-18 21:18:43 | 显示全部楼层
screen_ok 发表于 2022-1-18 08:09
系统调用这些东西都是会有变化的,不要说从DOS到Windows的跨越了,就是Windows本身也是在不断变化的(比 ...

哦  好的 多谢指点
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

×【发帖 友情提示】
1、请回复有意义的内容,请勿恶意灌水;
2、纯数字、字母、表情等无意义的内容系统将自动删除;
3、若正常回复后帖子被自动删除,为系统误删的情况,请重新回复其他正常内容或等待管理员审核通过后会自动发布;
4、感谢您对VC驿站一如既往的支持,谢谢合作!

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号-4 )|网站地图wx_jqr

GMT+8, 2023-12-11 12:09

Powered by CcTry.CoM

© 2009-2021 cctry.com

快速回复 返回顶部 返回列表