C primier plus 第十三章 13.2标准I/O

C Primer Plus 6th(中文版)第六章编程练习答案 3.使用嵌套循环,按下面的格式打印字母: F FE FED FEDC FEDCB FEDCBA #include<stdio.h> int main(void) { char str[6]={'F','E','D','C','B','A'}; //这是一个字符数组,不是字符串 int i,j; for(i=0;i<6;i++) /... 阅读详情

首先,关于main(int argc,char *argv[ ])。参考百度百科中的解释。

https://baike.baidu.com/item/argc%20argv/10826112?fr=aladdin

1. argc的值是命令行参数的个数

什么是命令行参数?

在命令行下调用程序(假设程序名为2.exe)

c:\2.exe file1 file2

这时的“c:\2.exe” “file1” “file2”这三个都是命令行参数

特别注意的是,argc 是指命令行参数变量的个数,包括程序运行时的全路径名,即全路径名也算一个变量!

2.  char  *argv[ ]: 指针数组,用来存放指向你的字符串参数的指针,每一个元素指向一个参数

argv[0] 指向程序运行的全路径名

argv[1] 指向在DOS命令行中 执行程序名 后的第一个字符串 

argv[2] 指向执行程序名后的第二个字符串

......

argv[argc]为NULL。

下面,给出程序清单13.1的运行示意图:

#include<stdio.h>
#include<stdlib.h>  //为exit()函数提供原型

int main(int argc,char *argv[])  //启用main()中两个参数的使用
{
	int ch;  //存放字符
	FILE *fp;  //文件指针
	long count=0; //记录字符个数

	if(argc!=2)  //为什么是!=2,路径名算一个变量参数,文件名字算一个变量参数!!!
	{
		printf("Usage: %s filename\n",argv[0]);
		exit(1);
	}
	if((fp=fopen(argv[1],"r"))==NULL)  //fopen()函数有两个参数。第一个参数argv[1]是要打开的 
                                       //文件名字,更确切地说,是该文件名的字符串的地址。
                                       //第二个参数是指定文件打开模式(参考表13.1).
	{
		printf("Can't open %s\n",argv[1]);
		exit(1);
	}
	while((ch=getc(fp))!=EOF)
	{
		putc(ch,stdout);
		count++;
	}
	printf("\n");
	if(fclose(fp)!=0)
		printf("Error in closeing file %s\n",argv[1]);
	printf("File %s has %ld characters\n",argv[1],count);
	return 0;
}

开始编译,完成后找到count.exe这个文件;创造一个文本文件file.txt。

特别注意,两文件必须在同一个文件夹里面!

打开cmd窗口。

1.文件直接放在F盘。

输入完毕后按下Enter键即可。

2.文件放在F盘的文件里面,如B文件夹。

特别注意在cmd中要访问文件夹,记得cd +文件夹。

C Primer Plus (第六版) 第十三章_编程练习答案 no1.c // 修改程序清单13.1中的程序,要求提示用户输入文件名,并读取用户输入信息,不使用命令行参数. # include <stdio.h> # include <stdlib.h> int main(void) { int ch ; FILE * fp ; char st[100]; unsigned long count = 0 ; prin... 阅读详情

相关推荐

C Primier Plus(第六版)第10章 编程练习 VS2019测试

第1题 /*编程练习10.1修改程序清单10.7的rain.c程序,用指针进行计算。*/ #include<stdio.h> #define MONTHS 12 #define YEARS 5 void sum_rain(float rain[][MONTHS],int year); void sum_rain_1(float(*p)[MONTHS], int year); int main(void) { const float rain[YEARS][MONTHS] = { {4

ptbls的博客 333

记录:C语言初学者阅读《C Primer Plus》的经验总结

C语言入门推荐书籍

半汀烟雨·碎菁寒 3万+

UWB灵犀遥控器方案介绍

UWB灵犀指向遥控器的技术原理和方案介绍

xiongdauwb的博客 3899

【C++ primer plus】函数探幽中

这里是上一篇文章的绪论,其实还要写一篇,太多知识点了,这个本书很难,只能说作者看的要废了,然后这个是基于作者的理解,然后部分后面讲的省掉了,只找重点,让我们理解这里面的重点知识引用的绪论我们可以知道结构体和类的引用的使用方法,什么时候使用引用引用我们需要注意的就是const修饰,返回值的类型,用const修饰的时候,计算机会进入哪一些操作,提示临时变量引用,类,继承我们这里需要知道基类,派生类是什么含义基类的引用作为形参的话,进行传实参的时候,既可以是派生类或者基类。

2401_86738532的博客 1436

手把手教你用gym训练宇树GO2机器人模型(附完整配置文件)

本文提供了一份详细的实战指南,教你如何使用Gym框架为宇树GO2四足机器人搭建强化学习训练环境。文章深入解析了环境配置、参数调试、奖励函数设置等关键步骤,并分享了避开常见陷阱的经验,旨在帮助开发者高效完成模型训练。

oo7890的博客 322

Matlab双目相机标定

1 概述 现在有许多双目相机在出厂时就已经标定好了,用户拿到手后可以直接使用,例如Intel Realsense系列。但是有些相机出厂的时候并没有完成标定工作,因而这个时候就需要我们自己来标定。由于笔者曾改装过一个双目相机,最远可以测至50m,因此有一定的心得体会想给大家分享一下。本文主要介绍双目相机标定的整个过程,以及导出标定数据的方法。 相机标定主要分为手动标定和自动标定,手动标定比较繁琐,这里主要介绍基于matlab工具箱的自动标定方式来对双目相机进行标定。具体的相关标定细节也可以参照这篇博客:m

weixin_46133643的博客 2万+

C Primer Plus---程序清单13.2 reduto.c

简要记录一下答案.

m0_62121252的博客 292

哈工大2024春大数据挖掘期末考试回忆版试题

(3)现有一个用户数量远多于物品(还是物品远多于用户,忘了是哪个了)的情景,应该使用基于user-user的推荐系统还是item-itmen的推荐系统,说明原因。(1)L是n*n拉普拉斯矩阵,x是一个n*1列向量,证明对任意的x,(x)^TLx>=0(6分)(3)证明:p到o的K-可达距离,至少是o的K-distance(2分)(2)(1)的结果说明竞争率的上界是多少?(2)考Gain的意义,如何利用Gain选择划分点(2分)(2)说明如何利用划分后的数据进行验证(2分)(2)k可达距离是对称的吗?

ymd2002的博客 1891

《C++ Primier Plus》02

1.   数组的动态联编和静态联编 使用数组声明来创建数组时,将采用静态联编(即数组的长度在在编译时设置),使用new[]创建数组时,将采用动态联编(即运行时为数组分配空间),长度也在行时确定。这种数组使用完后,应使用delete[]释放占用的内存。 2.   数组表示法和指针表示法 用方括号数组表示法等同于对指针解除引用。 int tacos[10]; tacos[0] meas *t

Freedom! 692

Moveit Servo学习

MoveIt Servo功能与配置指南 摘要:本文介绍了MoveIt Servo的功能特性,包括支持关节速度、末端执行器速度和位置控制,以及安全功能如奇点检查、碰撞检测等。通过示例展示了如何运行伺服控制demo,详细解析了关键节点和话题。最后以睿尔曼rml_63机器人为例,讲解了如何自定义伺服配置文件,包括环境设置、输入输出参数配置、平滑滤波器和规划场景监控等关键配置项。文章提供了从基础使用到自定义机器人配置的完整指导,帮助开发者实现高效的实时运动控制。

Fisher的博客 1174

Unity小游戏接入抖音敏感词检测

摘要: 本文介绍了Unity小游戏接入抖音敏感词检测的方法。抖音官方提供了两种API:SensitiveWordCheck用于检测敏感词,ReplaceSensitiveWords用于替换敏感词。此外,若使用键盘输入事件,可通过tt.onKeyboardComplete监听回调,平台会自动屏蔽敏感词(替换为*)。接入官方字库可有效避免审核驳回,适用于小游戏中的用户输入功能(如起名系统)。附官方文档链接及参数说明。

类人_猿的博客 4594

C Primer Plus 第13章 文件输入/输出 13.2 标准I/O

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34150830的博客 211

Unreal使用nDisplay制作裸眼3D(9宫格)

摘要: nDisplay是虚幻引擎的分布式实时渲染技术,可将内容同步输出到多个显示设备(如LED墙、投影仪等),构建沉浸式可视化系统。其核心功能包括:分布式渲染(支持多台设备协同处理高分辨率内容)、空间透视校正(通过追踪观众动态调整画面几何关系)以及虚拟拍摄应用。配置时需设置集群组件(Cluster、Host、Node、Viewport)定义渲染逻辑,空间组件(nDisplayScreen、ViewPoint)确定投影关系。文中以9宫格配置为例,详细演示了从工程创建到影片渲染合成的全流程,最终通过多视口合成

TxNet 608

C Primier Plus 第十三章 文件输入/输出

1、exit()函数:关闭所有打开的文件并终止程序;在main()中exit(0)和return 0作用相同;exit(0)正常终止,非0表示非正常终止。P357 2、fopen()函数:用于打开文件。fopen(argv[1],"r")第一个参数表示要打开的文件名(更确切的说是表示该文件名的字符串的地址),第二个参数是用于指定文件打开模式的一个字符串。fopen()成功打开一个文件之后会返

zhoujiejiangchen的专栏 653

uniapp开发小程序保存图片权限获取失败一直走fail?本地能保存,线上版就不行! 原来是这个问题!

通过这次经历,我发现线上版小程序和开发版、体验版的权限控制差异较大。如果你也遇到类似的问题,首先要检查是否已勾选“采集用户隐私”,并确保在提交审核时配置了隐私条款。这个设置非常关键,避免像我一样浪费了不少时间和版本。

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 1077

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

C Primer Plus 第十三章 课后答案

目录   复习题 1.下面的程序有什么问题 2.下面的程序完成什么任务?(假设在命令行环境中运行) 3.假设程序中有下列语句: 另外,假设成功打开了两个文件。补全下面函数调用中缺少的参数: a.ch = getc(); b.fprintf( ,"%c\n", ); c.putc( , ); d.fclose(); /* 关闭terky文件 */ 4.编写一个程序,不接受任何命...

asdgyy的博客 6399

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

C Primer Plus: 第十三章 文件输入/输出

C Primer Plus: 第十三章 文件输入/输出 13.1 与文件进行通信 文件通常是在磁盘或固态磁盘上的一段已命名的储存区。 C提供两种文件模式:文本模式和二进制模式。 区别:文本文件\二进制文件 使用二进制编码的字符(如ASCII或Unicode)表示文本,该文件就是文本文件,其中包含文本内容。 使用二进制值代表机器语言代码或者数值数据或图片或音乐编码,该文件就是二进制文件,...

budding0828 749

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

C primier plus 文件的输入/输出

编程练习第十二题,图形输出。 本题我用随机函数rand()产生随机数,进行文件的输入输出操作。仅供参考。 #include&lt;stdio.h&gt; #include&lt;stdlib.h&gt; #define ROWS 20 #define COLS 30 int main(void) { FILE *fp; int i,j,n=0; int rand_number[ROW...

LPJLBJ的博客 305

《C Primer Plus(第五版)中文版》第12章第1至8题

/* ============================================================================ 1.不使用全局变量,重写12.4的程序 ============================================================================ */ #include void c

vs9841 2208

《C Primer Plus》第6版 编程练习答案参考 第十三章(全)

《C Primer Plus》第6版 编程练习 第十三章 目录(如果无法使用,可以选用右侧的目录选项)教程连接 先看这里(很重要!): 函数原型:     fopen_()   :     fgetc() 和 fputc():     rewind() 函数: 源码 + 题目 + 运行效果: Pe13-1: Pe13-2: Pe13-3: Pe13-4: Pe13-5: ...

Alex_mercer_boy的博客 4946

千呼万唤始出来---C++ primier plus二刷之第七章总结

之前由于实验室项目上的问题,距离上一次更新已经过了很久,以后会慢慢恢复,

巴塞罗那的风的专栏 514

c++primer plus清单13.1,13.2,13.3

首先 #ifndef TABTENN0_H_ #define TABTENN0_H_ #include using std::string; class TableTennisPlayer { private: string firstname; string lastname; bool hasTable; public: TableTennisPlayer(const string &amp;...

qq_34600560的博客 306

C primier plus 结构和其他数据形式

14.18 编程练习.3 改写书目程序,按照不同要求顺序排序输出。 #include&lt;stdio.h&gt; #include&lt;string.h&gt; #include&lt;stdlib.h&gt; #define MAXTITL 40 #define MAXAUTL 40 #define MAXBKS 100 struct book { char title[MAXT...

LPJLBJ的博客 257

C Primer Plus (第六版) 中文版 4.8编程练习 答案

#学习历程记录#/*********************************************C Primer Plus 第四章 编程练习***********************************************/1.编写一个程序,提示用户输入名和姓,然后以“名,姓”的格式打印出来//编写一个程序,提示用户输入名和姓,然后以“名,姓”的格式打印出来 #includ...

在所不辞的博客 2万+
上一篇: 指针和多维数组(C Primer Plus)解释
下一篇: 一个简单的文件压缩程序——在cmd窗口的实现。
兰博詹
博客等级 码龄8年 1粉丝 10原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值