linux 下C编程~请教高手

[复制链接]
查看11 | 回复4 | 2010-6-23 07:44:08 | 显示全部楼层 |阅读模式
本人刚学LINUX下的SHELL编程.向高手请教..谢谢.
我模仿LINUX下的CP命令,做了一个COPY.C的文件,用GCC编译并命名为COPY
(GCC COPY.c -O COPY).
运行时.需要COPY A B(A,B 为文件名)..
现在.要再做一个XP.C的文件,主要是调用这编译好的COPY程序.
如果XP.C代码用了SYSTEM("COPY A B").此时.运行程序时,将自动复制A到B
如何把XP.C中的A和B(两个文件名)自己手动输入?就是在那命令解释器下输入.
或者说.如何把SYSTEM("COPY A B")中的A.B改为从键盘输入的.程序也能实现同种效果....代码该怎么写
PS:表达能力很差.让高手理解.

回复

使用道具 举报

千问 | 2010-6-23 07:44:08 | 显示全部楼层
可以用exec族的函数,代码如下:char a[32];char b[32];scanf("%s",a);scanf("%s",b);execlp("COPY","COPY",a,b,NULL);//注意NULL必须有
回复

使用道具 举报

千问 | 2010-6-23 07:44:08 | 显示全部楼层
scanf()这个函数你知道吧?知道的话还不好说麼?然后你可以把你copy.c的文件的函数extern到xp.c中然后直接用 或者你exec函数族
回复

使用道具 举报

千问 | 2010-6-23 07:44:08 | 显示全部楼层
用shell写的话 #!bash定义2个文件函数在用cp 文件函数1 文件函数2输入好像是read具体的你可以参考一下linux 里面copy 这个文件代码!
回复

使用道具 举报

千问 | 2010-6-23 07:44:08 | 显示全部楼层
利用C里的argv argc来取得A和B的文件名:给你一个范例,你玩玩看,了解什麽是 argc 和 argv 后再优化。#include #include int main(int argc, char **argv){
while(argc--)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行