请求帮助:C 使用 WIN32 API 编写一个"新建文件(夹)"的小程序
以下是在控制台下的简陋实现,不会GUI编程,想看下GUI的代码,纯C WIN32 API的。
请高手给个范例,最好有检测非法文件名之类的功能。
程序代码:
#include <stdio.h> #include <direct.h> int main(void) { char UTF8_header[3] = {0xef, 0xbb, 0xbf}; //UTF-8 file header char UTF16LE_header[2] = {0xff, 0xfe}; //UTF-16LE file header int n; char filename[300]; printf("新文件(夹)名为: \n"); scanf("%s", filename); printf("输入的新文件(夹)名为: %s\n", filename); printf("请输入新建文本文件选项:\n\ \t1): 新建 ANSI 空文本文件\n\ \t2): 新建 UTF-8 BOM 空文本文件\n\ \t3): 新建 UTF-16LE BOM 空文本文件\n\ \t4): 新建文件夹\n"); scanf("%d", &n); switch(n) { case 1: printf("生成 ANSI 编码的文本文件...\n"); FILE *fp_ansi = fopen(filename, "wb+"); fclose(fp_ansi); break; case 2: printf("生成 UTF-8 BOM 编码的文本文件...\n"); FILE *fp_utf8 = fopen(filename, "wb+"); fwrite(UTF8_header, sizeof(char), 3, fp_utf8); fclose(fp_utf8); break; case 3: printf("生成 UTF-16LE BOM 编码的文本文件...\n"); FILE *fp_utf16 = fopen(filename, "wb+"); fwrite(UTF16LE_header, sizeof(char), 2, fp_utf16); fclose(fp_utf16); break; case 4: printf("生成文件夹...\n"); _mkdir(filename); break; default: printf("取消...\n"); } return 0; }
VS2010的工程打包
newfile.rar
(158.51 KB)