标题: C Primer Plus 程序清单11.27中VS2010关于行命令参数的设置 [打印本页] 作者: 51黑黑黑 时间: 2016-2-23 15:38 标题: C Primer Plus 程序清单11.27中VS2010关于行命令参数的设置 对于新手,可能不知道如何操作vs2010使之达到编译的预期效果,具体步骤如下
新建项目,c++编写程序如下:
#include
int main(int argc, char *argv[])
{
int count;
printf("The command line has %d arguments: \n",argc-1);
for(count = 1;count < argc; count++)
printf("%d: %s\n",count,argv[count]);
printf("\n");
getchar();
getchar();
return 0;
}
为了实现程序中的命令行参数argv[]的使用,需要设置一下项目的属性。
项目->属性->调试->命令参数,输入 Resistance is futile
如下图所示
?
编译执行程序即可。
结果如下:
作者: 51黑黑黑 时间: 2016-2-23 15:43
上篇写到程序清单11.27的相关VS2010的相关操作,13-2的程序相对要复杂一点,故此说明。程序如下
// reducto.c -- reduces your files bytwo-thirds!
#include
#include
#include
#define LEN 40
int main(int argc, char *argv[])
{
FILE *in, *out;
int ch;
char name[LEN];
int count = 0;
//check the command arguments
if(argc < 2)
{
fprintf(stderr,"Usage: %s filename\n",argv[0]);
getchar();
exit(1);
}
// finish the input action
if((in = fopen( argv[1], "r")) == NULL)
{
fprintf(stderr,"I couldn't open the file\"%s\"\n",argv[1]);
getchar();
exit(2);
}
// finish the output action
strcpy(name,argv[1]);//把文件名复制到数组中
strcat(name,".txt");//在文件名后添加.txt
if((out = fopen(name,"w"))== NULL)//检查文件是否为空
{//打开文件以供写入
fprintf(stderr,"Can't create output file.\n");
getchar();
exit(3);
}
// copy data
while((ch = getc(in))!= EOF)
if(count++ % 3 == 0)
putc(ch,out);
// clear up
if(fclose(in)!= 0 ||fclose(out)!= 0)
fprintf(stderr,"Error in cliosing file.\n",argv[1]);
return 0;
}
与上篇不同的是在 command lines 输入a ,还要设置路径(workingdirectory)为桌面,以便大家方便地观看结果,并原书中的“.red”替换成“.txt”,增加可读性。也在exit();前添加上getchar();以便更加直观地观看error.
?还需在桌面建立一个a.txt,在文本中写入 So even Eddy cameoven ready. 在通过属性更改去掉.txt.
编译完成,执行。桌面上就会出现a.txt的新文本文件,打开文件中,就会出现 Sendmoney? 。如果忘记新建桌面设置这样的a文件,那木