高手帮忙编一个c/c++程序

运行这个程序后程序将在程序所在文件夹中新建一个path.txt文本,并把程序所在的文件夹路径写入path.txt文本中
不用c/c++也行,只要达到程序效果就行了。

以bat的方式获取路径就是set path=%cd%
c++就是#include "windows.h"

int _tmain(int argc, TCHAR *argv[])
{
char pBuf[MAX_PATH];
char pBufForSave[MAX_PATH];
GetCurrentDirectoryA(MAX_PATH,pBuf);
来获得路径。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-09-11
不用C、C++的行不,那样的话很简单。
把下面的东西保存到path.bat中,使用时双击这个文件,就像使用exe文件一样

@echo off
set path=%cd%
echo %path% > path.txt

当然如果你非想要C++的程序也行。。
第2个回答  2010-09-12
#include "windows.h"

int _tmain(int argc, TCHAR *argv[])
{
char pBuf[MAX_PATH];
char pBufForSave[MAX_PATH];
GetCurrentDirectoryA(MAX_PATH,pBuf); //获取程序的当前目录
strcpy_s(pBufForSave,MAX_PATH,pBuf);
strcat_s(pBuf,MAX_PATH,"\\path.txt");
HANDLE hFile =CreateFileA(pBuf,
GENERIC_WRITE,
NULL,
NULL,
CREATE_ALWAYS,
FILE_ATTRIBUTE_NORMAL,
NULL);
if (INVALID_HANDLE_VALUE == hFile)
{
return -1;
}
DWORD dwSize = strlen(pBufForSave);
WriteFile(hFile,pBufForSave,dwSize,&dwSize,NULL);
CloseHandle(hFile);
return 1;
}
第3个回答  2010-09-12
程序如下:
#include <windows.h>
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
char buf[1000];
GetCurrentDirectory(1000,buf); //得到当前工作路径
cout<<buf<<endl;
fstream file("path.txt",ios::out);
if(!file)
cerr<<"open fail"<<endl;
file<<buf;
file.close();
}
有问题hi我,交流下~
还有个获取路径的方法:
#include <stdio.h>
#include <direct.h>
#define MAXPATH 1000
int main(void)
{
char buffer[MAXPATH];
getcwd(buffer, MAXPATH);
printf("The current directory is: %s\n", buffer);
return 0;
}
相似回答