导航:首页 > 程序命令 > c调用命令行

c调用命令行

发布时间:2024-09-21 00:53:39

❶ 如何在C语言编程中调用linux系统终端下的命令

根据调用需求,可以分为两种:

一、仅执行系统命令,不需要该命令的打印结果。

这种情况可以用system函数。形式为

system(cmd);

其中cmd为char*类型的字符串,包含要执行的命令,命令的执行结果会输出到标准输出。

比如

system("mkdirtest");

这个执行,会在当前文件夹下创建test文件夹。

二、需要命令执行的打印。

虽然同样可以使用system并重定向到文件,然后打开文件读取,最终删除文件。但这样做比较繁琐,更好的做法是使用popen。

FILE *fp = popen(cmd);

执行cmd中的命令,然后可以以C文件操作方式,读取命令的输出结果。比如:

if((fp=popen("pwd","r"))==NULL)//执行获取当前目录的系统命令pwd。
{
printf("执行失败 ");//fp为NULL表示命令执行失败。
}
else
{
chars[100];
while(fgets(s,100,fp))//获取文件内容。
printf("%s",s);//输出结果。
pclose(fp);//关闭。
}

❷ 在windows命令行中如何运行c程序的文本

1、打开命令行界面:键盘win + r ,输入cmd,回车。即可打开命令行。

❸ C++中调用命令行,而命令行内包含带空格的目录名怎么办

有两个办法来解决这个问题

1)用缩写。比如c:\Program Files缩写为c:\Progra~1
再来刨根问底查查这个命名是否有规则,于是找到:
文件夹(sub-directry)名称,以前是不允许带空白的,后来允许带空白,但由于有了空白,许多命令出现二义性,于是采用双引号括起来的办法。例如:
cd Documents and Settings
按老定义 等于 CD Documents, CD 命令找不到名叫Documents 的 directry
于是采用双引号:
cd “Documents and Settings“
但用到 set PATH 时很麻烦,名字太长,双引号时常括错。于是采用8个字符缩写,即写头六个字母(略去空白),另加波浪号和1。例如:
"Documents and Settings“ -- DOCUME~1
"Local Settings" -- LOCALS~1 (注意略去空白,用了第二个词的字母,凑成六个,再加波浪号和1)。
于是,这种方法成了规定。
再来个十万个为什么的下一个,如果多个文件前6字符一样怎么办?为什么最后是1而不是0或者其他数字呢?看看这个例子
假设下面是你的C盘根目录中的文件夹:
Program Files
Progra file
Progra zhang
则三个目录分别表示为:C:\Progra~1; C:\Progra~2; C:\Progra~3;
2)绕过去,创建一个镜像。例如在cmd中输入 subst w: "C:\Documents and Settings\hopeshared"。然后就可以直接用w:\替代C:\Documents and Settings\hopeshared了

❹ VC++调用命令行怎么办system和shellexecute的问题

system("cmd /c xxx.zip xxxx.zip");

无论你用shellExecute还是用system多要加/c 这个参数 才能执行命令

❺ 在cmd中输入哪几句话把c语言编译和运行出来

1.打开命令行界面:键盘win+r,输入CMD,回车。您可以打开命令行。

阅读全文

与c调用命令行相关的资料

热点内容
程序员多久能提升 浏览:145
bpmx3源码 浏览:121
通信类单片机 浏览:815
加密植发的区别 浏览:536
程序员跑需求 浏览:224
s7服务器怎么设置 浏览:343
2k17连接不上服务器怎么办 浏览:493
人力资源系统开源源码 浏览:687
河北视频加密有哪些 浏览:651
桌面两个微信怎么都加密码 浏览:278
长沙单身程序员 浏览:886
服务器下载异常是因为什么 浏览:705
java防刷 浏览:844
3dmax取消当前命令 浏览:361
显示当前模式下所有可执行的命令 浏览:760
为什么程序员拿了股份还要高薪 浏览:949
电脑运行命令里的记录能删吗 浏览:699
linuxwss 浏览:850
一个软件需要登录服务器地址 浏览:925
哪里有解压程序 浏览:301