我是靠谱客的博主 寒冷太阳,最近开发中收集的这篇文章主要介绍命令行处理技术,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

命令行处理技术

  • 命令行参数是用户在命令行中输入的参数,
  • 例如:在linux中命令提示符下输入下面的命令:
    wc report1 report2 report3
  • c++有一种让在命令行环境中运行的程序能够访问命令行参数的机制,
    int main(int argc , char *argv[])
  • argc为4,argv[1]为report1,argv[2]为report2,等
  • argc为命令行中参数个数,其中包括命令名本身,
  • argv指针数组,指向命令行参数

vs2019中设置

  • 项目属性–>调试–>命令参数
// count.cpp -- counting characters in a list of files
#include <iostream>
#include <fstream>

#include <cstdlib>//cstdlib是C++里面的一个常用函数库, 等价于C中的<stdlib.h>。

//1 字符串转换为数字的函数,包括atoi, atof, strtol等。
//2 随机数函数,包括srand, rand等。
//3 内存分配释放函数,如malloc, calloc, realloc, free等。
//4 程序运行控制函数,如exit, abort等。
//5 系统访问相关函数,如printenv, setenv,system等。
//6 常用算法函数,如qsort, bsearch, abs, div等。


int main(int argc, char* argv[]) {

	using namespace std;

	if (argc == 1)          // quit if no arguments
	{
		cerr << "Usage: " << argv[0] << " filename[s]n";
		exit(EXIT_FAILURE);
	}

//------------------------------------------------------------------------
	
	ifstream fin;              // open stream
	long count;
	long total = 0;
	char ch;

//------------------------------------------------------------------------
	for (int file = 1; file < argc; file++)
	{
		fin.open(argv[file]);  // connect stream to argv[file]
		
		//------------------------------------------------------------------------
		
		if (!fin.is_open())
		{
			cerr << "Could not open " << argv[file] << endl;
			fin.clear();
			continue;
		}
		

		//------------------------------------------------------------------------
		
		count = 0;
		while (fin.get(ch))
			count++;
		cout << count << " characters in " << argv[file] << endl;

		total += count;
		fin.clear();           // needed for some implementations //无害的,即使在不必使用它的时候使用
		fin.close();           // disconnect file



	}


}

最后

以上就是寒冷太阳为你收集整理的命令行处理技术的全部内容,希望文章能够帮你解决命令行处理技术所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(45)

评论列表共有 0 条评论

立即
投稿
返回
顶部