急用,多谢。

解决方案 »

  1.   

    "he.txt"
    程序本身目录的he.txt
      

  2.   

    DWORD GetCurrentDirectory(
      DWORD nBufferLength,  // size of directory buffer
      LPTSTR lpBuffer       // directory buffer
    );
      

  3.   

    我是说要得到程序的安装目录,比如windows在c;\windows
      

  4.   

    DWORD GetModuleFileName(
      HMODULE hModule,
      LPTSTR lpFilename,
      DWORD nSize
    );
    从lpFilename中判断最后1个'\'的位置,取得路径
      

  5.   

    GetCurrentDirectory,它在运行时可以得到自己的目录。
      

  6.   

    我的程序在e:\1211\Debug,GetCurrentDirectory为什么只能返回e:\1211
      

  7.   

    char dir[MAX_PATH];
    ::GetModuleFileName(NULL,dir,MAX_PATH);
    AfxMessageBox(dir);
      

  8.   

    char dir[MAX_PATH];
    ::GetModuleFileName(NULL,dir,MAX_PATH);
    AfxMessageBox(dir);
      

  9.   

    我的程序在e:\1211\Debug,GetCurrentDirectory为什么只能返回e:\1211:
    你是在vc中直接运行的吧,如果你在e:\1211\debug下直接运行你的程序就能得到这个路径了要得到Windows的目录,调用GetWindowsDirectory,会得到如c:\windows的路径
    要得到系统的目录,调用GetSystemDirectory,会得到如c:\windows\system的路径
      

  10.   

    //GetCurPath 获取本程序运行路径
    CString GetCurPath()
    {
    CString FilseName;
    char  chCurPath[255];
    GetModuleFileName(NULL, chCurPath, 255);
    FilseName=chCurPath ;
    int n=-1,i;
    do 
    {
    i=n;
    n=FilseName.Find("\\",n+1);
    }while(n>-1); //获取程序路径
    if(i>-1)
    FilseName=FilseName.Mid(0,i);
    return FilseName;}
      

  11.   

    GetModuleFileName(NULL,dir,MAX_PATH);
    一定行GetCurrentDirectory最好在程序初始化是用才能保证正确
      

  12.   

    GetCurrentDirectory不可靠,因为如果程序中你调用过_chdir等改变当前目录的函数后,返回就是你改变后的目录。可以先调用::GetModuleFileName(NULL,Temp,MAX_PATH);取得带有程序所在目录的程序名
    举例temp为“c:\dir\myexe.exe”
    然后使用其他方法剪切掉\myexe.exe
    可这样:
    int ch = '\\'; ::GetModuleFileName(NULL,Temp,MAX_PATH);
    pRest = strrchr(Temp, ch);
    Length = pRest - Temp;
    strncpy(DirName, Temp, Length);
    DirName[Length] = '\0';最后结果为DirName。