基于语法-CreateFile_::createfilea中文打不开-程序员宅基地

技术标签: c++  基础语法  

可行1:当E:\\a.txt 已经存在,且程序字符=Unicode的时候,下面代码可以正常

#include <iostream>
#include <windows.h>
int main()
{
    HANDLE hFILE = (HANDLE)CreateFile(L"E:\\a.txt", GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, NULL, NULL);
    if (hFILE == INVALID_HANDLE_VALUE)
    {
        printf("CreateFile error\n");
        return 0;
    }
    if (SetFilePointer(hFILE, 0, NULL, FILE_END) == -1)
    {
        printf("SetFilePointer error\n");
        return 0;
    }
    std::cout << "Hello World!\n";
}

**********************************

可行2:当E:\\a.txt 不存在,且程序字符=Unicode的时候,下面代码可以正常

// Test.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
#include <iostream>
#include <windows.h>
int main()
{
    HANDLE hFILE = (HANDLE)CreateFile(L"E:\\a.txt", GENERIC_WRITE, FILE_SHARE_READ, NULL, CREATE_ALWAYS, NULL, NULL);
    if (hFILE == INVALID_HANDLE_VALUE)
    {
        printf("CreateFile error\n");
        return 0;
    }
    if (SetFilePointer(hFILE, 0, NULL, FILE_END) == -1)
    {
        printf("SetFilePointer error\n");
        return 0;
    }
    std::cout << "Hello World!\n";
}

 

*****************************************************************************************

可行3:不论E:\\a.txt 是否存在,都可以覆盖!!!!!!!!

#include <iostream>
#include <windows.h>
int main()
{
    HANDLE hFILE = CreateFile(L"E:\\a.txt", GENERIC_WRITE, FILE_SHARE_READ, NULL, CREATE_ALWAYS, NULL, NULL);
    if (hFILE == INVALID_HANDLE_VALUE)
    {
        printf("CreateFile error\n");
        return 0;
    }
    if (SetFilePointer(hFILE, 0, NULL, FILE_END) == -1)
    {
        printf("SetFilePointer error\n");
        return 0;
    }
    std::cout << "Hello World!\n";
}

*****************************************************************************************

可行4:相对地址也可以啊!!!!!!!! 

#include <iostream>
#include <windows.h>
int main()
{
    HANDLE hFILE = CreateFile(L"\\a.txt", GENERIC_WRITE, FILE_SHARE_READ, NULL, CREATE_ALWAYS, NULL, NULL);
    if (hFILE == INVALID_HANDLE_VALUE)
    {
        printf("CreateFile error\n");
        return 0;
    }
    if (SetFilePointer(hFILE, 0, NULL, FILE_END) == -1)
    {
        printf("SetFilePointer error\n");
        return 0;
    }
    std::cout << "Hello World!\n";
}

***

可行5:如果是文件路径是变量:下述代码可行。(注意是:CreateFileA

字符集=Unicode  和未设定 都可以。

必须的说明,当字符集=未设定。那么createfile 也可以!!

//第一步: 产生了一个文件名字和他的句柄
	SYSTEMTIME gsz_system_time;
	GetLocalTime(&gsz_system_time);
	char waveFileName[_MAX_PATH] = { 0 };
	sprintf_s(waveFileName, ".\\WAS_%04d-%02d-%02d_%02d_%02d_%02d_%02d.wav", gsz_system_time.wYear, gsz_system_time.wMonth, gsz_system_time.wDay, gsz_system_time.wHour, gsz_system_time.wMinute, gsz_system_time.wSecond, gsz_system_time.wMilliseconds);

	wave_file_Handle = CreateFileA(waveFileName, GENERIC_WRITE, FILE_SHARE_READ, NULL, CREATE_ALWAYS, NULL, NULL);
	//INVALID_HANDLE_VALUE表示无效的句柄值
	if (wave_file_Handle == INVALID_HANDLE_VALUE)
	{
		printf("Unable to open output WAV file %s: %d\n", waveFileName, GetLastError());
		return false;
	}

*************

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/wenluderen/article/details/123017392

智能推荐

STM32开发系列之寄存器(二)GPIO口位带操作实现_gpiob->odr |=1<<6-程序员宅基地

文章浏览阅读2k次,点赞2次,收藏8次。位带操作顾名思义就是可以单独对CPU寄存器某个位进行读写操作,采取这种方式,将会大大减少我们写代码的难度,不用像上篇博客那样进行与或运算和移位,降低了出错的可能性。如果之前有使用过8051单片机的话,应该体会过这种操作的好处。例如,在51单片机中,P1.0上挂了一个灯,我们想要他点亮,可以直接P1.0=0或者P1.0=1这样写,直接对P1端的某个IO口进行操作。但在STM32中并不允许这样操作,..._gpiob->odr |=1<<6

【C++】字符串(string)的使用_c++ string 子串-程序员宅基地

文章浏览阅读2.4k次,点赞5次,收藏22次。C++ 中,`std::string` 是用于处理字符串的标准库类。它提供了一系列成员函数和操作符,使得字符串的操作更加方便和灵活。_c++ string 子串

MySQL 慢查询-程序员宅基地

文章浏览阅读1.2w次,点赞7次,收藏41次。一、什么是慢查询慢查询,顾名思义,执行很慢的查询。有多慢?超过long_query_time参数设定的时间阈值(默认10s),就被认为是慢的,是需要优化的。慢查询被记录在慢查询日志里。慢查询日志默认是不开启的。如果需要优化SQL语句,就可以开启这个功能,它可以让你很容易地知道哪些语句是需要优化的。1️⃣show variables like 'slow_query_log';查询是否开启慢查询日志【开启慢查询sql:set global slow_query_log = 1/on;】【关闭慢查询sq_慢查询

redis-shiro session 共享 session, SimpleSession序列化大坑_shiro simplesession-程序员宅基地

文章浏览阅读1.7k次,点赞2次,收藏7次。shiro 通过redis实现session共享共享Session目的在分布式服务的工程中,一个服务器断了,负载均衡服务器会把请求分配给其他的服务器,如果设置了session共享,就不需要用户再次登录了.shiro实现session共享的原理默认的情况下,shiro的session是在服务器上的,当该服务器宕掉了,session就不存在了,用户必须重新登录,如果我们把shiro的session存到redis服务器上,就可以实现session共享了.如何实现?如果我们想通过redis实现shiro_shiro simplesession

2019高教杯数学建模B题赛后感_2019数学建模b题“同心协力”-程序员宅基地

文章浏览阅读6.2k次,点赞10次,收藏27次。虽然已经11月了,离数学建模成绩出来已经很久,但是之前一直忙着做项目,忘记写了,然后简单讲一下经历 ,比赛是中秋放假那三天,别人回家的回家,我们交了300块在实验室里面肝,唉,作孽啊。讲一下前提哈,我们学校今年特别dog,往年一般都会有暑假的数学建模培训,虽然没啥用,但起码有啊,今年他就没了,他就没了。。。。你信嘛,然后结果出来我们学校很理所应当地没有一个队伍拿国奖。我运气好,勉强拿了个省二,还..._2019数学建模b题“同心协力”

如何用javascript操作本地文件(读写txt文件) _ts读取本地txt-程序员宅基地

文章浏览阅读1.8w次。版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明http://pp99nn.blogbus.com/logs/46943583.htmljavascript在浏览器本地和与服务器通讯方面都有优异的表现。使用javascript对本地文件进行操作实际上是有一点技术后退的感觉。毕竟桌面应用程序微软的、java的已经相当成熟了。不过用javascript做点小程序来处理本地事务,在没有java或者MFC开发环境的时候还是很方便的。_ts读取本地txt

随便推点

2016年8月6日 星期六 --出埃及记 Exodus 16:6-程序员宅基地

文章浏览阅读96次。2016年8月6日 星期六 --出埃及记 Exodus 16:6So Moses and Aaron said to all the Israelites, "In the evening you will know that it was the LORD who brought you out of Egypt,摩西,亚伦对以色列众人说,到了晚上,你们要知道是耶和华将你们从埃及地领出..._出埃及记16

软件架构, 软件框架,设计模式的区别_比较架构模式,设计模式,惯用法的区别和联系-程序员宅基地

文章浏览阅读1.8k次,点赞4次,收藏7次。已剪辑自: https://www.cnblogs.com/lsm-boke/p/12657791.html一、架构**架构即软件架构,**是有关软件整体结构与组件的抽象描述,用于指导大型软件系统各个方面的设计。软件体系结构是构建计算机软件实践的基础,简单来说,软件架构是一个系统的草图,是一种设计方案,将客户的不同需求抽象成为抽象组件,各个组件之间的连接则明确和相对细致地描述组件之间的通讯。在实现阶段,这些抽象组件被细化为实际的组件,比如具体某个类或者对象。_比较架构模式,设计模式,惯用法的区别和联系

文本挖掘入门-程序员宅基地

文章浏览阅读1.1k次,点赞4次,收藏23次。总之,词嵌入是一种有助于RNN模型理解文本语义的技术,而RNN则用于在文本生成任务中考虑文本的顺序和上下文信息,从而生成连贯的文本。文本挖掘是从文本数据中提取有用信息的过程,通常包括文本预处理、特征提取和建模等步骤。:选择合适的机器学习或深度学习算法,根据任务类型进行建模,例如文本分类、情感分析、主题建模等。:使用标注好的数据集训练模型,并使用评估指标(如准确度、F1分数、均方误差等)来评估模型性能。函数将使用RNN模型生成文本,它会根据先前生成的文本以及上下文信息来预测下一个单词。_文本挖掘

oracle 表空间和数据文件管理 移动数据文件 重命名数据文件 数据文件重命名_如何使用oracle创建表空间,数据文件命名为-程序员宅基地

文章浏览阅读2.7k次。oracle 11g2 一个数据文件在同一个时刻仅属于同一个表空间,仅属于同一个数据库。TEMP文件是一类在临时表空间中被使用的特殊数据文件。 当数据库创建或重用i一个数据文件——操作系统文件被重用和初始化——被一个规则的二进制零所填充。这些初始化不会发生在临时文_如何使用oracle创建表空间,数据文件命名为

语法篇-JSON基础_json语法-程序员宅基地

文章浏览阅读2.4k次,点赞3次,收藏14次。script>name : '烟雨平生',age : 20,sex : "男"_json语法

python编辑视频教程_Maya中Python编辑基础核心技术训练视频教程-程序员宅基地

文章浏览阅读140次。本教程是关于Maya中Python编辑基础核心技术训练视频教程,时长:超过20小时,大小:3.1 GB,MP4高清视频格式,教程使用软件:Maya,附源文件,作者:Geordie Martinez,共8个章节,语言:英语。分享Autodesk Maya是美国Autodesk公司出品的世界顶级的三维动画软件,应用对象是专业的影视广告,角色动画,电影特技等。Maya功能完善,工作灵活,易学易用,制作效..._learn python inside maya

推荐文章

热门文章

相关标签