使用变参函数实现pwd命令
#include "stdafx.h"
#include <Windows.h>
#define DIRNAME_LEN (MAX_PATH+2)
BOOL PrintStrings(HANDLE hOut,...)
{
DWORD msgLen,count;
LPCTSTR pMsg;
va_list pMsgList;
va_start(pMsgList,hOut);
while((pMsg=va_arg(pMsgList,LPCTSTR))!=NULL){
msgLen=_tcslen(pMsg);
if(!WriteConsole(hOut,pMsg,msgLen,&count,NULL)
&& !WriteFile(hOut,pMsg,msgLen * sizeof(TCHAR),
&count,NULL))
va_end(pMsgList);
return FALSE;
}
va_end(pMsgList);
return TRUE;
}
BOOL PrintMsg(HANDLE hOut,LPCTSTR pMsg){
return PrintStrings(hOut,pMsg,NULL);
}
int _tmain(int argc, LPTSTR argv[])
{
CHAR pwdBuffer[DIRNAME_LEN];
DWORD lenCurDir;
lenCurDir=GetCurrentDirectory(DIRNAME_LEN,pwdBuffer);
PrintMsg(GetStdHandle(STD_OUTPUT_HANDLE),pwdBuffer);
system("pause");
return 0;
}
最新文章
- BMW
- 【android studio】解决android studio drawable新建项目时只有一个drawable目录的问题
- 关于.NET(c#)引用Dll后,找不到命名空间的问题
- Mongodb For Windows
- Sharepoint-Hosted App in 2013资料
- iPhone/Mac Objective-C内存管理教程和原理剖析
- 安全的PHP代码编写准则
- 尽量不用char*作为hash_map的key
- vue的测试(Vue.js devtool)
- TCP和UDP的区别(Socket)
- 为什么还坚持.NET? 找一门适合自己的语言去做编程
- Java c# 跨语言Json反序列化首字母大小写问题
- Python基础综合运用——搭建名片管理系统
- Django+Vue打造购物网站(八)
- pyqt5-数据库加载错误解决
- 【原创】大数据基础之Logstash(3)应用之http(in和out)
- IPython Notebook 运行python Spark程序
- js模拟链表---双向链表
- PyQt5-多窗口数据传输
- dbcp 连接池参数说明
热门文章
- CENTOS7 修改网卡名称为eth[012...],格式
- activiti基础--3-----------------------------流程实例
- MySQL与Oracle的语法区别详细对比
- 【leetcode刷题笔记】3Sum Closest
- Python核心编程 课后练习 第二章
- 第十二、模块二、调用中国天气网和qqOnline及TrainTimeWebService接口来突出Json方法
- JavaScriptr -- 常用对象 String, date, prototype
- IBatis笔记
- eclipse自动提示功能没了的解决办法
- 更新github上代码