关于C/C++中main函数参数的学习
因为面对对象作业(2018.5.21)的要求,去学习了C/C++中main函数参数的意义,以及一些简单的使用(从命令行指令的接受),不给予赘述。(仅为个人拙见,还望看官指正)
首先,带有参数的main函数如下表示:
int main( int argc, char* argv[] )
{
do something;
return 0;
}
其中,argc为从命令行中接受的指令个数,argv为从命令行中接受的指令内容。通俗地理解,argc就是在命令行中敲了几个字符串,argv便是这几个字符串的值(argv[i],i = 0,1,2,3……)。于是乎,bonus的一些问题我得到了解决(参数不够,参数错误)。对于参数解释,个人认为已经足够,那么如何使用所接受到的参数便成为接下来要研究的问题。(笔者以freopen为例,因为作业要求从命令行操作,而搜索出来的博客并没有我想要的内容,在我粗略浏览过后,决定自己动手)
首先观察一下freopen语句freopen( "input/output.txt", "r"/"w", stdin/stdout ),不难看出,freopen的第一个参数是一个字符串,那么freopen的参数便可以理解成:string, "r", stdin。而上文中我们提及的argv,就是接受命令行的指令的字符串数组,那么freopen语句便可以写作freopen( argv[i], "r"/"w", stdin/stdout ), i = 0,1,2,3……,那么我们就可以方便的控制输入的文件名和输出的文件名。
其次,C++对于判断文件存在与否,我通过搜索学习到了ifstream fin(str)(#include <fstream>),之后加之判断:若(!fin)为真,则名为str(str是一个字符串)的文件不存在,于是乎,bonus的一些问题又解决了(参数不规范)。而对于C而言,我记得可以通过File*来判断是否存在所索取文件。
小结:当网上的一些东西有时候并不能解决我们的需求,并不代表我们不能学习,更不代表我们无能为力,通过对企图学习的东西先有一个大体认知,再观察我们需要改变的东西,结合我们的经验,其实很多的问题都可以得到解决,这就是我这次对于main函数带参的学习的一个小收获。
关于C/C++中main函数参数的学习的更多相关文章
- c/c++中main函数参数讲解
参考地址: http://blog.csdn.net/cnctloveyu/article/details/3905720 我们经常用的main函数都是不带参数的.因此main 后的括号都是空括号.实 ...
- Java中main函数参数String args[] 和 String[] args 区别
其实没什么区别的:当初我也是这样的疑问,呵呵:非要说区别就看下面:执行效果上没有不同, 但在语法意义上略有不同. 比如, String与String[], 前者叫字符串类型而后者叫字符串数组类型. S ...
- .NET中Main函数使用小技巧
摘要:任何语言开发出来的程序,都会有一个程序入口函数,可能每个语言所使用的程序入口函数名称不一样,但是它们的作用都是一样的,都是被操作系统去调用.那么本文主要总结.NET中的程序入口函数Main使用的 ...
- main函数参数解析
int argc,char *argv agrc表示参数的个数 argv储存参数 这个函数的意思是逐一输出参数 实际上,main函数也可以带参数.带参数main函数的定义格式如下:void main( ...
- 性能测试分享: Jmeter的源码分析main函数参数
性能测试分享: Jmeter的源码分析main函数参数 poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大 ...
- eclipse 中main()函数中的String[] args如何使用?通过String[] args验证账号密码的登录类?静态的主方法怎样才能调用非static的方法——通过生成对象?在类中制作一个方法——能够修改对象的属性值?
eclipse 中main()函数中的String[] args如何使用? 右击你的项目,选择run as中选择 run configuration,选择arguments总的program argu ...
- C++中main函数的返回值一定要是int
因为大学上课时候,经常是在主函数中做处理,直接用cout语句输出到显示设备,所以一直在用void main(). 直到后面具体编程的时候,才发现void main()这种用法是按 C89(C语言的早期 ...
- Main函数参数argc,argv说明
C/C++语言中的main函数,经常带有参数argc,argv,如下: int main(int argc, char** argv) int main(int argc, char* argv[]) ...
- 在C++工程中main函数之前跑代码的廉价方法(使用全局变量和全局函数)
// test.cpp : Defines the entry point for the console application. // #include "stdafx.h" ...
随机推荐
- Android UI开发第三十六篇——使用Volley加载图片列表
Android开发者可能会使用Universal Image Loader或者Square`s newer Picasso这些第三方的库去处理图片的加载,那么Volley是怎么加载图片列表的呢,这一篇 ...
- 让python pip使用国内镜像
国内源: 清华:https://pypi.tuna.tsinghua.edu.cn/simple 阿里云:http://mirrors.aliyun.com/pypi/simple/ 中国科技大学 h ...
- 2013暑假江西联合训练赛 -- by jxust_acm 解题报告
第6题是利用周期性求解, 第7题是 (总的序列长度-最长的满足要求的序列长度) 第8题是 设定起点,可以找到最早出现的不满足条件,然后后面都是不满足的,利用队列求解这个过程 大神给的简单,精炼的题解. ...
- 【BZOJ4456】[Zjoi2016]旅行者 分治+最短路
[BZOJ4456][Zjoi2016]旅行者 Description 小Y来到了一个新的城市旅行.她发现了这个城市的布局是网格状的,也就是有n条从东到西的道路和m条从南到北的道路,这些道路两两相交形 ...
- 【BZOJ4627】[BeiJing2016]回转寿司 SBT
[BZOJ4627][BeiJing2016]回转寿司 Description 酷爱日料的小Z经常光顾学校东门外的回转寿司店.在这里,一盘盘寿司通过传送带依次呈现在小Z眼前.不同的寿司带给小Z的味觉感 ...
- C# 二进制文件操作(内容搜索、数据截取)
private void button2_Click(object sender, EventArgs e) { var list = new List<Frame>(); byte[] ...
- ini_set('date.timezone','Asia/Shanghai');
w 同样的代码,不一样的php ENV.
- Universally Unique Identifier amazonservices API order 亚马逊订单接口的分析 NextToken
one hour in linux mysql> ) from listorders; +----------+ | count() | +----------+ | | +---------- ...
- 转!java操作redis
package sgh.main.powersite; import java.util.ArrayList; import java.util.HashMap; import java.util.I ...
- pycharm中选择python interpreter
pycharm中选择python interpreter pycharm中有两处地方需要选择python解释器: 一处是调试配置(edit configurations)处,这里选择python解释器 ...