VS: [项目属性]->[配置属性]->[常规]->[字符集]
在该属性中选择"使用多字节字符集"或者"使用Unicode字符集" 本代码段均可处理

#include <string>
#ifdef _WIN32
#include <windows.h>
std::string WcharToChar(const wchar_t* wp, size_t encode = CP_ACP)
    std::string str;
    int len = WideCharToMultiByte((UINT)encode, 0, wp, (int)wcslen(wp), NULL, 0, NULL, NULL);
    char* mychar = new char[len + int(1)];
    WideCharToMultiByte((UINT)encode, 0, wp, (int)wcslen(wp), mychar, len, NULL, NULL);
    mychar[len] = '\0';
    str = mychar;
    delete[] mychar;
    return str;
std::wstring CharToWchar(const char* c, size_t encode)
    std::wstring str;
    int len = MultiByteToWideChar((UINT)encode, 0, c, (int)strlen(c), NULL, 0);
    wchar_t* mywchar = new wchar_t[len + int(1)];
    MultiByteToWideChar((UINT)encode, 0, c, (int)strlen(c), mywchar, len);
    mywchar[len] = '\0';
    str = mywchar;
    delete[] mywchar;
    return str;
#endif  // _WIN32
// 取消隐藏文件
void show_file(const std::string& szFile)
#ifdef _WIN32
#ifdef UNICODE
    std::wstring wstr = CharToWchar(szFile.c_str(), CP_ACP);
    ::SetFileAttributes(wstr.c_str(), FILE_ATTRIBUTE_NORMAL);
#else
    SetFileAttributes(szFile.c_str(),FILE_ATTRIBUTE_NORMAL);
#endif // !UNICODE
#endif // _WIN32
// 设置文件隐藏
void hide_file(const std::string& szFile)
#ifdef _WIN32
#ifdef UNICODE
    std::wstring wstr = CharToWchar(szFile.c_str(), CP_ACP);
    ::SetFileAttributes(wstr.c_str(), FILE_ATTRIBUTE_HIDDEN);
#else
    ::SetFileAttributes(szFile.c_str(), FILE_ATTRIBUTE_HIDDEN);
#endif // !UNICODE
#endif // _WIN32
int main(int argc, char *argv[])
    hide_file("E:\\test.dat");
    show_file("E:\\test.dat");
    return 0;
                    @[TOC](windows C++ 设置文件隐藏(unicode/多字节字符集均可处理))VS: [项目属性]-&gt;[配置属性]-&gt;[常规]-&gt;[字符集]在该属性中选择"使用多字节字符集"或者"使用Unicode字符集" 本代码段均可处理#include &lt;string&gt;#ifdef _WIN32#include &lt;windows.h&gt;std::string WcharToChar(const wchar_t* wp, size_t encode)
				
用于C/C++的繁简转头文件,可以迅速定位转换。 //*****************************说明****************************** //==========================AllCode[][]数组======================== //繁简转换编码对照数组,每6个编码为一组 //依次为Big5Unicode, GBUnicode, Big5(BE), GB(BE), Big5(LE), GB(LE) //Big5Unicode: 繁体字的Unicode编码 //GBUnicode: 简体字的Unicode编码 //Big5(BE): 繁体字的Big5编码,Big-Endian序系统用 //GB(BE): 简体字的GB编码,Big-Endian序系统用 //Big5(LE): 繁体字的Big5编码,Little-Endian序系统用 //GB(LE): 简体字的GB编码,Little-Endian序系统用 //=============================================================== //=========================CodeIndex[][]数组======================= //快速序号查找对照数组,每6个为一组 //依次为Big5Unicode, GBUnicode, Big5(BE), GB(BE), Big5(LE), GB(LE) //可以根据已知的字符编码以及字符集查找其在AllCode[]数组中的序号 //举例: //已知“华”的GB编码为0xBBAA,要转为Big5码。 //由于GB码是大字节序,那么如果在Little-Endian的系统上,其在内存中的值应该是0xAABB, //于是我们可以在CodeIndex[][]数组中找到编码为0xAABB的那一行的GB(LE)所对应的数值为9311, //然后再找到AllCode[]中序号为9311的那行数据。 //然后就可以将“华”在内存中的数据0xAABB转换为9311那一行对应的Big5(LE)编码0xD8B5 //=============================================================== //由于简体字与繁体字为一对多的关系,所以此对照方法从简体转为繁体并不是十分准确, //最好的办法是使用词库转换,但词库转换比较复杂,需要大量的词库对照。 //****************************************************************
    不要泄密,不要公开提供抽象的实体的内部信息。     为了尽量减少操作抽象的调用代码和抽象的实现之间的依赖性,必须隐藏实现内部的数据。否则,调用代码就能够访问该信息,或者更糟,操作该信息,而原来应属于内部的信息就泄漏给了调用代码所依赖的抽象。应该公开抽象,而不是数据。     信息隐藏主要从一下两方面降低了项目的成为,加快了项目的进度,减少了项目的风险。 C++中的文件操作 在C++中,类ifstream,ofstream和fstream是处理有关文件I/O的。引用这三个类要在头文件fstream.h内申明,如果程序涉及到对文件的操作必须加头文件: #include 一.文件的打开 在上述三个类中,具有成 bool CopyMyDirFlie(const std::string strMyDir, const std::string strDestDir) std::string strDir = strMyDir; std::string strNewDestDir = strDestDir; CreateDirectory(strDestDir.c_str(), NULL); if (strDir.at(strDir.length() - 1) != '\\') CFileStatus status; CFile::GetStatus(path,status); //获取原属性 status.m_attribute |= 0x02; //追加隐藏属性 CFile::SetStatus(path,status); //设置新属性
1. CreateFile  这个函数的功能是创建或者打开一个文件或者I/O设备,通常使用的I/O形式有文件文件流、目录、物理磁盘、卷、终端流等。如执行成功,则返回文件句柄。 INVALID_HANDLE_VALUE 表示出错,会设置 GetLastError 。   函数的声明定义:  HANDLE WINAPI CreateFile( _In_ LPCTSTR lpFileNa
一上大学才开始接触真正的计算机,到现在已经快三年了,以为自己已经学得很不错了,什么C++、C语言、汇编、操作系统什么的都学了。 但是,今晚陪师妹去听个计算机的通选课,我竟然被震惊了。。。原来计算机也能玩得这么惟妙惟肖啊!!以防忘记,特此写下这篇听课日记!! 进入正题吧! 隐藏文件绝招: 1.鼠标右键属性->隐藏(SB式隐藏) //////鼠标右击要隐藏文件文件夹,属性-->隐
1、ANSI(即MBCS):为多字节字符集,它是不定长表示世界文字的编码方式。ANSI表示英文字母时就和 ASCII一样,但表示其他文字时就需要用多字节。 2、Unicode:用两个字节表示一个字符的编码方式。比如字符'A'在ASCII下面用一个字节表示,而在 Unicode下面用两个字节表示,其中高字节用“0”填充;函数'程'在ASCII下面用两个字节表示,而在 Unicode下面也是用...
方法一:在你的cpp文件中添加 #pragma comment( linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"" ) //这种方法无法灵活的显示或者隐藏窗口 方法二:适用于对本身隐藏窗口 #include<Windows.h> HWND hwnd=GetForegroundWindow();//获取你当前启动窗口的...
Windows 下使用 Visual Studio Code 配置 C/C++ 编程环境需要以下步骤: 1. 下载并安装 Visual Studio Code。 2. 安装 C/C++ 扩展,在扩展面板中搜索 "c/c++" 并安装。 3. 安装 GCC 编译器,可以使用 MinGW 或 Cygwin。 4. 配置环境变量,将 GCC 的 bin 目录添加到 PATH 中。 5. 在 VSCode 中配置 tasks.json 和 launch.json 文件以使用 GCC 编译和调试程序。 6. 可以在 VSCode 中使用快捷键编译和调试代码。