VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 888|回复: 4

[已解决]关于c++windows编程学习的一些东西

[复制链接]
82_avatar_middle
最佳答案
0 
donate_vip 发表于 2021-3-8 20:46:16 | 显示全部楼层 |阅读模式
关于syc大大讲的c++ windows编程学习,这一点我没有搞懂
关于c++windows编程学习的一些东西
HRESULT hRet = URLDownloadToFile(NULL, _T("https://s.cctry.com/images/eagle2.png"), _T("D:\\cctry.png"), 0, NULL);
为什么参数里面要加_T,这个有什么用呀。
求求表哥们告知。
最佳答案
31_avatar_small
2021-3-9 00:31:44
本帖最后由 cpp2019 于 2021-3-9 00:37 编辑

_T() 是一个宏,作用是解决字符串的兼容性,根据你的工程属性中设置的字符集决定是否给字符串加上 L"",

L"cctry" 引号前面的大写字母L(代表「long」)。这将告诉编译器该字符串按宽字符保存,即每个字符占用2个字节,字符串结束符\0也是占2个字节。


  1. #include <windows.h>
  2. #include <tchar.h>
  3. #pragma comment(lib, "Urlmon.lib")

  4. int main()
  5. {
  6.         // 文件保存在C盘根目录下
  7.         HRESULT hret = URLDownloadToFile(NULL, _T("https://s.cctry.com/images/eagle2.png"), _T("C:\\cctry.png"), 0, NULL);
  8.         if (hret != S_OK)
  9.         {
  10.                 MessageBox(NULL, _T("下载失败"), _T("TIP"), MB_OK);
  11.                 return 1;
  12.         }

  13.         MessageBox(NULL, _T("下载成功"), _T("TIP"), MB_OK);

  14.         return 0;
  15. }
复制代码




上一篇:《实用C++》第44课 文件IO操作之读写 小白问题请教
下一篇:求大漠轨迹移动算法
31_avatar_middle
最佳答案
62 
在线会员 发表于 2021-3-9 00:31:44 | 显示全部楼层    本楼为最佳答案   
bestAnswer
本帖最后由 cpp2019 于 2021-3-9 00:37 编辑

_T() 是一个宏,作用是解决字符串的兼容性,根据你的工程属性中设置的字符集决定是否给字符串加上 L"",

L"cctry" 引号前面的大写字母L(代表「long」)。这将告诉编译器该字符串按宽字符保存,即每个字符占用2个字节,字符串结束符\0也是占2个字节。


  1. #include <windows.h>
  2. #include <tchar.h>
  3. #pragma comment(lib, "Urlmon.lib")

  4. int main()
  5. {
  6.         // 文件保存在C盘根目录下
  7.         HRESULT hret = URLDownloadToFile(NULL, _T("https://s.cctry.com/images/eagle2.png"), _T("C:\\cctry.png"), 0, NULL);
  8.         if (hret != S_OK)
  9.         {
  10.                 MessageBox(NULL, _T("下载失败"), _T("TIP"), MB_OK);
  11.                 return 1;
  12.         }

  13.         MessageBox(NULL, _T("下载成功"), _T("TIP"), MB_OK);

  14.         return 0;
  15. }
复制代码
82_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2021-3-8 20:57:52 | 显示全部楼层
还有,同样的程序,为什么syc表哥下载成功了,我是下载失败关于c++windows编程学习的一些东西
#include <windows.h>
#include <tchar.h>
#pragma comment(lib, "Urlmon.lib")
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPreInstance, LPTSTR IpCmdLine, int nShowCmd)
{
        HRESULT hret=URLDownloadToFile(NULL, "https://s.cctry.com/images/eagle2.png", "C:\\Users\\Public\\Downloads\\cctry.png", 0, NULL);
        if (hret == S_OK)
        {
                MessageBox(NULL, _T("下载成功"), _T("TIP"), MB_OK);
        }
        else
        {
                MessageBox(NULL, _T("下载失败"), _T("TIP"), MB_OK);
        }
        return 0;
}

75_avatar_middle
最佳答案
23 
online_supermod 发表于 2021-3-9 11:39:38 | 显示全部楼层
cpp2019 发表于 2021-3-9 00:31
_T() 是一个宏,作用是解决字符串的兼容性,根据你的工程属性中设置的字符集决定是否给字符串加上 L"",

...

你这个 dayday up  不错
31_avatar_middle
最佳答案
62 
在线会员 发表于 2021-3-9 12:26:07 | 显示全部楼层
wl1383838438 发表于 2021-3-9 11:39
你这个 dayday up  不错

关于c++windows编程学习的一些东西惊现版主!!!
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

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

关闭

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

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

GMT+8, 2023-9-28 03:38

Powered by CcTry.CoM

© 2009-2021 cctry.com

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