《C语言及程序设计》实践参考——用命令行运行程序

返回:贺老师课程教学链接

【项目1-用命令行运行程序】
下面的程序,用于复制命令行中给出的文件。请利用命令行的方式运行程序。

#include<stdio.h>
#include<string.h>
int main(int argc,char *argv[])
{
    FILE *p1,*p2;
    int c;
    p1=fopen(argv[1], "r");
    p2=fopen(argv[2], "w");
    while((c=fgetc(p1))!=EOF)
        fputc(c,p2);
    fclose(p1);
    fclose(p2);
    printf("复制完毕!敲任一键退出...\n");
    getchar();   //这一句在命令行下运行时很关键,可以在程序结束前停下来(等待输入)
    return 0;
}

[参考方法]

提示步骤(视频中有演示):
(1)在CodeBlocks中完成程序的编译,到项目所在的文件夹中,找到编译好的.exe文件
(2)打开DOS窗口(有困难找百度),如下图所示:

命令行的提示符显示当前用户的工作目录。
(3)将当前目录设置为.exe所在的目录
常用的命令:
盘符后加冒号:代表将当前盘设置为指定的盘;
cd 路径(路径由文件夹名用/隔开)
例如,下图的命令组合,将当前盘设置为D盘,然后设置当前目录为cb\test\bin\debug,该目录就是编译好的test.exe所在的目录

(4)运行命令
这个程序要实现两个文件的相互复制,我们需要提前做一个基础性工作:在该文件夹中建一个文件。最简单的,你可以建一个文本文件a.txt,里面随便输入些你喜欢的字句。
然后在命令行提示符下输入带参数的命令。在我给出的示例中,项目名是test,所以创建了test.exe,所以命令名是test。加上参数后运行程序,输入的命令为:test a.txt b.txt,下面是运行程序的窗口

(5)现在可以查看复制出来的文件了。

补充:是否可以在集成环境下,调试要求命令行中带参数的程序?可以,在各个IDE中都可以进行设置(具体操作略有不同)。以CodeBlocks为例,菜单Project-->set programs' arguments...在出现的下面对话框的programs arguments部分,写上你需要的参数。参数有多个,请用空格隔开,如图:

时间: 2024-09-30 06:17:05

《C语言及程序设计》实践参考——用命令行运行程序的相关文章

go语言通过管道连接两个命令行进程的方法_Golang

本文实例讲述了go语言通过管道连接两个命令行进程的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: package main import (   "os"   "os/exec"   "fmt"   "flag"   "strings" ) func main() { generator := exec.Command("cmd1") consumer := exe

python自动化测试之从命令行运行测试用例with verbosity_python

本文实例讲述了python自动化测试之从命令行运行测试用例with verbosity,分享给大家供大家参考.具体如下: 实例文件recipe3.py如下: class RomanNumeralConverter(object): def __init__(self, roman_numeral): self.roman_numeral = roman_numeral self.digit_map = {"M":1000, "D":500, "C"

使用Ruby来编写访问Twitter的命令行应用程序的教程_ruby专题

简介 Twitter 现已成为社交网络中的佼佼者.Twitter 只允许用户发布不多于 140 个字符的内容,谁能够想到,这个过去毫不起眼的小网站如今却价值十多亿美元,拥有数百万用户,Twitter 平台上已构建了大量的应用程序,并且不断有新的开发人员准备投入这一浪潮中. 本文并不打算介绍 Twitter(事实上,也没有这个必要).相反,本文将介绍如何访问 Twitter 平台来构建出色的命令行应用程序.Twitter 支持各种编程语言,包括 C++.Java?.Perl.Ruby.PHP 和

应用设计模式开发命令行交互程序

背景介绍 人机交互的方式最初起始于命令行交互,虽然图形界面的交互方式应用越来越广 泛,可是命令行交互仍然有着它不可替代的地位.命令行交互程序是以命令行方式进行的人机交互, 即用户按着程序的提示,一步步进行输入,而程序负责解释并最终执行指令. 本文以一个简 单的部署 war 包的实例,说明在命令行交互程序设计中遇到的问题,以及如何使用设计模式来解决 这些问题. 实例简介 在实例中,命令行交互程序给出了一组问题请求用户输入,然后 根据用户的输入将 war 包部署在服务器上.如图 1 所示,应用程序共

Java中使用设计模式来优化命令行交互程序的开发

人机交互的方式最初起始于命令行交互,虽然图形界面的交互方式应用越来越广泛,可是命令行交互仍然有着它不可替代的地位.命令行交互程序是以命令行方式进行的http://www.aliyun.com/zixun/aggregation/11432.html">人机交互,即用户按着程序的提示,一步步进行输入,而程序负责解释并最终执行指令. 本文以一个简单的部署 war 包的实例,说明在命令行交互程序设计中遇到的问题,以及如何使用设计模式来解决这些问题. 实例简介 在实例中,命令行交互程序给出了一组问

字符串-这个命令行参数程序怎么运行啊?

问题描述 这个命令行参数程序怎么运行啊? #include #include int main(int argc char *argv[]){ char ch; if (argv[1][0] == '-') //注意argv[0]是EXE的路径,所以参数是argv[1].argv[2]-- if (argv[1][1] == 'u') while(( ch=getchar() ) != EOF) putchar( toupper(ch) ); else if (argv[1][1] == 'l'

php-PHP命令行运行错误(新手)

问题描述 PHP命令行运行错误(新手) 在命令行上运行,出现Parse error:syntax errorunexpected T_INCexpecting '<' in .....是什么原因? 源码是:<?phpfor($i=1;$i echo ""$i;}?> 解决方案 给你一个正确的格式吧 注意啦 <?php for($i=10;--$i;) echo $i;?> 解决方案二: 你的括号符号另一半跑哪里了,你这写的都不知道是什么东西了....先弄清

Android中使用am命令实现在命令行启动程序详解_Android

在Android中,除了从界面上启动程序之外,还可以从命令行启动程序,使用的是命令行工具am. 复制代码 代码如下: usage: am [subcommand] [options]     start an Activity: am start [-D]         -D: enable debugging     send a broadcast Intent: am broadcast     start an Instrumentation: am instrument [flags

x509watch 0.5.0发布 命令行应用程序

x509watch一个简单的命令行应用程序,可以用来列出即将过期或已经过期的X.509证书,如SSL证书.所有证书查找都在默认标准的PKI目录,但任何其他目录可以被指定一个参数.只支持Base64编码DER和PEM X.509证书. x509watch 0.5.0本次发布的作品解决了旧32位中系统Perl中Y2K38的问题.但不包括新的根CA捆绑"CA-bundle.trust.crt"在Fedora中.更新了GNU GPLv2的副本,以给出新的金融论坛的地址. 下载地址:http:/