我正在尝试编写一个控制台应用程序,它可以接受文件名参数,并希望它能够处理Unicode文件名。问题是我不知道如何测试它。
如何将Unicode参数传递给控制台应用程序?
我尝试创建一个Unicode批处理文件来调用程序,向它传递一些Unicode字符,但它不起作用;命令提示符根本不能启动程序,因为它在文件名中的空字符上出错。我尝试将代码页更改为65001,并在命令行中按Alt键键入Unicode字符,但也不起作用。
下面是一个示例程序。我正在尝试找到一种方法来获得以下输出:
C:\> unicodeargtest Foobar
46, 0, 6f, 0// UnicodeArgTest.cpp
#define UNICODE
#include <tchar.h>
#include <stdio.h>
int wmain (int argc, wchar_t**argv) {
    printf("%x, %x, %x, %x\n", argv[1][0], argv[1][1], argv[1][2], argv[1][3]);
}发布于 2012-03-26 15:04:29
拖放应该可以做到这一点。在资源管理器中,将要将其名称作为参数传递到测试可执行文件上的文件拖动。(您可能首先希望更改可执行文件,使其在退出前等待。)
https://stackoverflow.com/questions/9867392
复制相似问题