首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

C++控制台中市的system("start xxx")的困惑

2012-10-15 
C++控制台中的system(start xxx)的困惑是不是system(start xxx)中的xxx只能是绝对路径?不能是关于本

C++控制台中的system("start xxx")的困惑
是不是system("start xxx");中的xxx只能是绝对路径?不能是关于本程序的相对路径吗?我无论是用./ 、 / 、\等方式都不管用,请各位帮忙看看

[解决办法]
使用getcwd()获得程序的当前路径,再把xxx加入到当前路径组成绝对路径即可。
[解决办法]

C/C++ code
#include <stdio.h>#include "stdlib.h"#include "direct.h"#include <string.h>#define MAXPATH 250int main(void){    char buffer[MAXPATH];    getcwd(buffer, MAXPATH);    printf("The current directory is: %s\n", buffer);    char relative_path[] ="/data/in.txt";    strcat( buffer, relative_path);    printf("The current directory is: %s\n", buffer);    char command[MAXPATH] = "start ";    strcat( command, buffer );    system( command );    return 0;}
[解决办法]
不会吧, 进程的工作目录是你启动程序时所在的目录,不是程序摆在的目录.
[解决办法]
探讨
是不是system("start xxx");中的xxx只能是绝对路径?不能是关于本程序的相对路径吗?我无论是用./ 、 / 、\等方式都不管用,请各位帮忙看看

[解决办法]
探讨
引用:

引用:
是不是system("start xxx");中的xxx只能是绝对路径?不能是关于本程序的相对路径吗?我无论是用./ 、 / 、\等方式都不管用,请各位帮忙看看

可以是绝对路径,相对路径
出错的话,很可能只是你用错了
那请问怎么用相对路径?

热点排行