因为面对对象作业(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函数参数的学习的更多相关文章

  1. c/c++中main函数参数讲解

    参考地址: http://blog.csdn.net/cnctloveyu/article/details/3905720 我们经常用的main函数都是不带参数的.因此main 后的括号都是空括号.实 ...

  2. Java中main函数参数String args[] 和 String[] args 区别

    其实没什么区别的:当初我也是这样的疑问,呵呵:非要说区别就看下面:执行效果上没有不同, 但在语法意义上略有不同. 比如, String与String[], 前者叫字符串类型而后者叫字符串数组类型. S ...

  3. .NET中Main函数使用小技巧

    摘要:任何语言开发出来的程序,都会有一个程序入口函数,可能每个语言所使用的程序入口函数名称不一样,但是它们的作用都是一样的,都是被操作系统去调用.那么本文主要总结.NET中的程序入口函数Main使用的 ...

  4. main函数参数解析

    int argc,char *argv agrc表示参数的个数 argv储存参数 这个函数的意思是逐一输出参数 实际上,main函数也可以带参数.带参数main函数的定义格式如下:void main( ...

  5. 性能测试分享: Jmeter的源码分析main函数参数

    性能测试分享: Jmeter的源码分析main函数参数   poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大 ...

  6. eclipse 中main()函数中的String[] args如何使用?通过String[] args验证账号密码的登录类?静态的主方法怎样才能调用非static的方法——通过生成对象?在类中制作一个方法——能够修改对象的属性值?

    eclipse 中main()函数中的String[] args如何使用? 右击你的项目,选择run as中选择 run configuration,选择arguments总的program argu ...

  7. C++中main函数的返回值一定要是int

    因为大学上课时候,经常是在主函数中做处理,直接用cout语句输出到显示设备,所以一直在用void main(). 直到后面具体编程的时候,才发现void main()这种用法是按 C89(C语言的早期 ...

  8. Main函数参数argc,argv说明

    C/C++语言中的main函数,经常带有参数argc,argv,如下: int main(int argc, char** argv) int main(int argc, char* argv[]) ...

  9. 在C++工程中main函数之前跑代码的廉价方法(使用全局变量和全局函数)

    // test.cpp : Defines the entry point for the console application. // #include "stdafx.h" ...

随机推荐

  1. python之进制转换

    Python中二进制是以0b开头的:    例如: 0b11 则表示十进制的3 8进制是以0开头的:    例如: 011则表示十进制的9 16进制是以0x开头的:    例如: 0x11则表示十进制 ...

  2. Android studio Unsupported major.minor version 52.0

    从目前以及我从网上搜索到的解决方案来说,出现此问题可以从以下两个方法入手: 1. JDK的版本和class版本不一致,通常是jdk版本过低解决方法: 1)使用Java -version和javac - ...

  3. NET Framework 4.5新特性 (三)64位平台支持大于2 GB大小的数组

    64位平台.NET Framework数组限制不能超过2GB大小.这种限制对于需要使用到大型矩阵和向量计算的工作人员来说,是一个非常大问题. 无论RAM容量有多大有多少,一旦你使用大型矩阵和向量计算工 ...

  4. Docker的初体验

    这几天捣鼓了一下docker,是真的麻烦啊,网上资料比较杂乱,也很多英文,学起来挺多问题的 Docker下载 win10专业版:开启Hyper-V,下载并安装 docker-for-windows(但 ...

  5. nodejs 循环中操作需要同步执行解决方案

    最近用nodejs做了个针对某网站的小爬虫.干坏事得低调对吧,不能同时开太多的网络访问,结果各种回调/循环虐的心力交瘁. 经过了n次的百度\哥哥后终于拼出了自己要的功能.不敢独享分享出来以供大家参考. ...

  6. Java版接口自动化--初稿

    一.接口参数的获取: 1.参数通过Excel读取,并将结果写入Excel中 package org.fanqi.operateExcel; import java.io.FileInputStream ...

  7. php strtok()函数用法,及使用时遇到的问题

    strtok()函数:用来将一段字符串分割为子字符串 strtok(string $str, string $token) strtok( string $token) //仅第一次调用$str,以后 ...

  8. 第一节:web 框架本质

    1.web请求本质是什么: web请求本质:就是一个socket.      浏览器充当是客户端,python充当一个服务器端      浏览器请求相当一次tcp请求,请求完成断开连接 ,下次去的时候 ...

  9. Django的模型层(1)- 单表操作(下)

    一.查询表记录 在学习查询表记录之前,先了解一下QuerySet,这是一种类似列表的数据类型,是由ORM创建的.我们学习查询表记录的方法时,一定要明确哪些方法返回了QuerySet类型,哪些方法返回m ...

  10. Acheron一期SVN地址

    svn://10.0.0.100/project/Acheron/2.0/SourceCode tailf 命令 http://web2py.com/books/default/chapter/29/ ...