读书人

C++控制台中市的system(quot;start xxxquot;)的

发布时间: 2012-10-15 09:45:24 作者: rapoo

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只能是绝对路径?不能是关于本程序的相对路径吗?我无论是用./ 、 / 、\等方式都不管用,请各位帮忙看看

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

读书人网 >C语言

热点推荐