当前位置: 首页 > news >正文

《C++ Primer Plus》第17章:输入、输出和文件(1)

对C++输入和输出(简称I/O)的讨论提出了一个问题。一方面,几乎每个程序都要使用输入和输出,因此了解如何使用它们是每个学习计算机语言的人面临的首要任务;另一方面,C++使用了很多较为高级的语言特性来实现输入和输出,其中包括类、派生类、函数重载、虚函数、模板和多重继承。因此,要真正理解C++ I/O,必须了解C++的很多内容。为了帮助您起步,本书的开始几章介绍了使用 istream 类对象 cin 和 ostream 对象 cout 进行输入和输出的基本方法,同时使用了 ifstream 和 ofstream 对象进行文件输入和输出。本章将更详细地介绍C++的输入和输出类,看看它们是如何设计的,学习如何控制输出格式(如果您跳过很多章,直接学习高级格式,可浏览一下讨论该主题的一些小节,注意其中的技术,而忽略解释)。

用于文件输入和输出的C++工具都是基于 cin 和 cout 所基于的基本类定义,因此本章以对控制台 I/O(键盘和屏幕)的讨论为跳板,来研究文件 I/O。

ANSI/ISO C++ 标准委员会的工作是让 C++ I/O 与现有的 C I/O 更加兼容,这给传统的 C++ 做法带来了一些变化。

C++ 输入和输出概述

多数计算机语言的输入和输出是以语言本身为基础实现的。例如,从诸如 BASIC 和 Pascal 等语言的关键字列表中可知,PRINT 语句、Writeln 语句以及其他类似的语句都是语言词汇表的组成部分,但 C 和 C++ 都没有将输入和输出建立在语言中。这两种语言的关键字包括 for 和 if,但不包括与 I/O 有关的内容。C 语言最初把 I/O 留给了编译器实现人员。这样做的一个原因是为了让实现人员能够自由地设计 I/O 函数,使之最适合于目标计算机的硬件要求。实际上,多数实现人员都把 I/O 建立在最初为 UNIX 环境开发的库函数的基础之上。ANSI C 正式承认这个 I/O 软件包时,将其称为标准输入/输出包,并将其作为标准C库不可或缺的组成部分。C++也认可这个软件包,因此如果熟悉 stdio.h 文件中声明的 C 函数系列,则可以在 C++ 程序中使用它们(较新的实现使用头文件 cstdio 来支持这些函数)。

然而,C++ 依赖于 C++ 的 I/O 解决方案,而不是 C 语言的 I/O 解决方案,前者是在头文件 iostream(以前为 iostream.h)和 fstream(以前为 fstream.h)中定义一组类。这个类库不是正式语言定义的组成部分(cin和istream不是关键字);毕竟计算机语言定义了如何工作(例如如何创建类)的规则,但没有定义应按照这些规则创建哪些东西。然而,正如 C 实现自带了一个标准函数库一样,C++也自带了一个标准类库。首先,标准类库是一个非正式的标准,只是由头文件 iostream 和 fstream 中定义的类组成。ANSI/ISO C++委员会决定把这个类正式作为一个标准类库,并添加其他一些标准类,如第16章讨论的那些类。本章将讨论标准 C++ I/O。但首先看一看 C++ I/O 的概念框架。

17.1.1 流和缓冲区

C++ 程序把输入和输出看作字节流。输入时,程序从输入流中抽取字节;输出时,程序将字节插入到输出流中。对于面向文本的程序,每个字节代表一个字符,更通俗地说,字节可以构成字符或数值数据的二进制表示。输入流中的字节可能来自键盘,也可能来自存储设备(如硬盘)或其他程序。同样,输出流中的字节可以流向屏幕、打印机、存储设备或其他程序。流充当了程序和流源或流目标之间的桥梁。这使得C++程序可以以相同的方式对待来自键盘的输入和来自文件的输入。C++程序只是检查字节流,而不需要知道字节来自何方。同理,通过使用流,C++程序处理输出的方式将独立于其去向。因此管理输入包含两步:

  • 将流与输入去向的程序关联起来。
  • 将流与文件链接起来。

换句话说,输入流需要两个连接,每端各一个。文件端部连接了提供了流的来源,程序端连接将流的流出部分转储到程序中(文件端连接可以是文件,也可以是设备,如键盘)。同样,对输出的管理包括将输出流连接到程序以及将输出目标与流关联起来。这就像字节(而不是水)引入到水管中。

通常,通过使用缓冲区可以更高效地处理输入和输出。缓冲区是用作中介的内存块,它是将信息从设备传输到程序或从程序传输给设备的临时存储工具。通常,像磁盘驱动器这样的设备以 512 字节(或更多)的块为单位来传输信息,而程序通常每次只能处理一个字节的信息。缓冲区帮助匹配这两种不同的信息传输速率。例如,假设程序要计算记录在硬盘文件中的金额。程序可以从文件中读取一个字符,处理它,再从文件中读取下一个字符,再处理,依此类推。从磁盘文件中每次读取一个字符需要大量的硬件活动,速度非常慢。缓冲方法则从磁盘上读取大量信息,将这些信息存储在缓冲区中,然后每次从缓冲区读取一个字节。因为从内存中读取单个字节的速度比从硬盘上读取快很多,所以这种方法更快,也更方便。当然,到达缓冲区尾部后,程序将从磁盘上读取另一块数据。这种原理与水库在暴风雨中收集几兆加仑流量的水,然后以比较文明的速度给您家里供水是一样的。输出时,程序首先填满缓冲区,然后把整块数据传输给硬盘,并清空缓冲区,以备下一批输出使用。这被称为刷新缓冲区(flushing the buffer)。

键盘输入每次提供一个字符,因此在这种情况下,程序无需缓冲区来帮助匹配不同的数据传输速率。然而,对键盘输入进行缓冲可以让用户在将输入传输给程序之前返回并更正。C++程序通常在用户按下回车键时刷新输入缓冲区。这是为什么本书的例子没有一开始就处理输入,而是等到用户按下回车键后再处理的原因。对于屏幕输出,C++程序通常在用户发送换行符时刷新输出缓冲区。程序也可能会在其他情况下刷新输出,例如输入即将到来时,这取决于实现。也就是说,当程序到达输入语句时,它将刷新输出缓冲区中当前所有的输出。与 ANSI C 一致的 C++ 实现是这样工作的。

流、缓冲区和 iostream 文件

管理流和缓冲区的工作有点复杂,但 iostream(以前为 iostream.h)文件中包含一些专门设计用来实现、管理流和缓冲区的类。C++98 版本 C++ I/O 定义了一些类模板,以支持 char 和 wchar_t 数据;C++11 添加了 char16_t 和 char32_t 具体化。通过使用 typedef 工具,C++ 使得这些模板 char 具体化能够模仿传统的非模板 I/O 实现。

  • streambuf 类为缓冲区提供了内存,并提供了用于填充缓冲区、访问缓冲区内容、刷新缓冲区和管理缓冲区内存的类方法;
  • ios_base 类表示流的一般特征,如是否可读取、是二进制还是文本流等;
  • ios类基于 ios_base,其中包括了一个指向 streambuf 对象的指针成员;
  • ostream 类是从 ios 类派生而来的,提供了输出方法;
  • istream 类也是从 ios 类派生而来的,提供了输入方法;
  • iostream 类是基于 istream 和 ostream 类的,因此继承了输入方法和输出方法。

要使用这些工具,必须使用适当的类对象。例如,使用 ostream 对象(如 cout)来处理输出。创建这样的对象将打开一个流,自动创建缓冲区,并将其与流关联起来,同时使得能够使用类成员函数。

重定义 I/O

ISO/ANSI 标准 C++98 对 I/O 作了两方面的修订。首先是从 stream.h 到 ostream 的变化,用 ostream 将类放到 std 名称空间中。其次,I/O类被重新编写。为成为国际语言,C++必须能够处理需要16位的国际字符集或更宽的字符类型。因此,该语言在传统的 8 位 char(“窄”)类型的基础上添加了 wchar_t(“宽”)字符类型;而 C++11 添加了类型 char16_t 和 char32_t。每种类型都需要有自己的 I/O 工具。标准委员会并没有开发两套(现在为 4 套)独立的类,而是开发了1套 I/O 类模板,其中包括 basic_istream<charT, traits\charT> > 和 basic_ostream<charT, traits<charT> >。traits<charT> 模板是一个模板类,为字符类型定义了具体特征,如如何比较字符是否相等以及字符的 EOF 值等。该 C++11 标准提供了 I/O 的 char 和 wchar_t 具体化。例如,istream 和 ostream 都是 char 具体化的 typedef。同样,wistream 和 wostream 都是 wchar_t 具体化。例如,wcout 对象用于输出宽字符流。头文件 ostream 中包含了这些定义。

ios 基类中的一些独立于类型的信息被移动到新的 ios_base 类中,这包括各种格式化常量,例如 ios::fixed(现在为 ios_base::fixed)。另外,ios_base 还包含了一些老式 ios 中没有的选项。

C++ 的 iostream 类库管理了很多细节。例如,在程序中包含 iostream 文件将自动创建 8 个流对象(4个用于窄字符流,4个用于宽字符流)。

  • cin对象对应于标准输入流。在默认情况下,这个流被关联到标准输入设备(通常为键盘)。wcin 对象与此类似,但处理的是 wchar_t 类型。
  • cout 对象与标准输出流相对应。在默认情况下,这个流被关联到标准输出设备(通常为显示器)。wcout 对象与此类似,但处理的是 wchar_t 类型。
  • cerr 对象与标准错误流相对应,可用于显示错误消息。在默认情况下,这个流被关联到标准输出设备(通常为显示器)。这个流没有被缓冲,这意味着信息将被直接发送给屏幕,而不会等到缓冲区填满或新的换行符。wcerr 对象与此类似,但处理的是 wchar_t 类型。
  • clog 对象也对应着标准错误流。在默认情况下,这个流被关联到标准输出设备(通常为显示器)。这个流被缓冲。wclog 对象与此类似,但处理的是 wchar_t 类型。
  • 对象代表流——这意味着什么呢?当 iostream 文件为程序声明一个 cout 对象时,该对象将包含存储了与输出有关的信息的数据成员,如显示数据时使用的字段宽度、小数位数、显示整数时采用的计数方法以及描述用来处理输出流的缓冲区的 streambuff 对象的地址。下面的语句通过只想的 streambuf 对象将字符串“Bjarna free”中的字符放到 cout 管理的缓冲区中:
    cout << "Bjarne free";
    
    ostream 类定义了上述语句中使用的 operator<<() 函数, ostream 类还支持 cout 数据成员以及其他大量的类方法(如本章稍后将讨论的那些方法)。另外,C++ 注意到,来自缓冲区的输出被导引到标准输出(通常是显示器,由操作系统提供)。总之,流的一端与程序相连,另一端与标准输出相连,cout 对象凭借 streambuf 对象的帮助,管理着流中的字节流。

重定向

标准输入和输出流通常连接着键盘和屏幕。但很多操作系统(包括 UNIX、Linux 和 Windows)都支持重定向,这个工具使得能够改变标准输入和标准输出。例如,假设有一个名为 counter.exe 的、可执行的 Windows 命令提示符 C++ 程序,它能够计算输入中的字符数,并报告结果(在大多数Windows系统中,可以选择“开始” > “程序”,再单击 “命令提示符” 来打开命令提示符窗口)。该程序的运行情况如下:

C>counter
Hello
and goodbye!
Control-Z		 		<< simulated end-of-file
Input contained 19 characters.
C>

其中的输入来自键盘,输出的被显示到屏幕上。
通过输入重定向(<) 和输出重定向(>),可以使用上述程序计算文件 oklahoma 中的字符数,并将结果放到 cow_cnt 文件中:

cow_cnt file:
C>counter <oklahama >cow_cnt
C>

命令行中的 <oklahoma 将标准输入与 oklahoma 文件关联起来,使 cin 从该文件(而不是键盘)读取输入。换句话说,操作系统改变了输入流的流入端连接,而流出端仍然与程序相连。命令行中的 >cow_cnt 将标准输出与 cow_cnt 文件关联起来,导致 cout 将输出发送给文件(而不是屏幕)。也就是说,操作系统改变了输出流的流出端连接,而流入端仍与程序相连。DOS、Windows 命令提示符模式、Linux 和 UNIX 能自动识别这种重定向语法(除早期的 DOS 外,其他操作系统都允许在重定向运算符与文件名之间加上可选的空格)。

cout 代表的标准输出流是程序输出的常用通道。标准错误流(由cerr和clog代表)用于程序的错误消息。默认情况下,这3个对象都被发送给显示器。但对标准输出重定向并不会影响 cerr 或 clog,因此,如果使用其中一个对象来打印错误消息,程序将在屏幕上显示错误消息,即使常规的 cout 输出被重定向到其他地方。例如,请看下面的代码片段:

if (success)std::cout << "Here come the goodies!\n";
else {std::cerr << "Something horrible has happened.\n";exit(1);
}

如果重定向没有起作用,则选定的消息都将被显示在屏幕上。然而,如果程序输出被重定向到一个文件,则第一条消息(如果被选定)将被发送到文件中,而第二条消息(如果被选定)将被发送到屏幕。顺便说一句,有些操作系统也允许对标准错误进行重定向。例如,在 UNIX 和 Linux 中,运算符 2>重定向标准错误。

相关文章:

《C++ Primer Plus》第17章:输入、输出和文件(1)

对C输入和输出&#xff08;简称I/O&#xff09;的讨论提出了一个问题。一方面&#xff0c;几乎每个程序都要使用输入和输出&#xff0c;因此了解如何使用它们是每个学习计算机语言的人面临的首要任务&#xff1b;另一方面&#xff0c;C使用了很多较为高级的语言特性来实现输入和…...

静态代码审计插件 snyk 使用教程

目录 1、vscode 插件安装 2、手动生成 token 3、自动分析 1、vscode 插件安装 2、手动生成 token 点击登录链接:...

从“服务”,到“赋能”,日日顺再次定义供应链生态建设

在众多不确定因素的交织下&#xff0c;当下的供应链企业变革呈现出前所未有的紧迫感。一体化、全链路的趋势&#xff0c;为企业的发展指明方向&#xff0c;与此同时数字化与科技化开始承托供应链管理能力的升级与变革。 2月15日&#xff0c;由日日顺供应链、运联智库联合举办的…...

MySQL(一):B+ Tree,索引以及其优点, 索引实战, 聚簇索引和非聚簇索引, 最左匹配,索引失效

文章目录一、B TreeB Tree相比于红黑树的优点1. B树有更低的树高2. B树更符合磁盘访问原理二、MySQL索引2.1 B Tree索引2.2 哈希索引2.3 全文索引2.4 空间数据索引三、索引的优点以及什么时候需要使用索引什么时候需要使用索引四、索引实战建立普通索引建立唯一索引建立主键索引…...

06:进阶篇 - Hello,CTK!

作者: 一去、二三里 个人微信号: iwaleon 微信公众号: 高效程序员 在接触任何语言时,我们总能看到“Hello,World!",它的中文意思是“你好,世界!”。由于简洁、实用,所以非常著名。 为了延续这个优良传统并迎接 CTK,在演示第一个插件时,我们使用“Hello,CTK!&qu…...

SpringCloud(一)注册中心

注册中心eureka服务端客户端负载均衡nacos服务端客户端nacos分级存储模型配置集群属性nacos环境隔离-namespace临时实例和非临时实例Eureka和Nacos的异同负载均衡策略饥饿加载eureka 服务端 依赖 <!-- eureka注册中心服务端依赖--><dependencies><depe…...

centos7环境配置

Python ​ Centos7中自带的python2&#xff0c;如果要是用python3&#xff0c;就需要自己安装了&#xff0c;因为yum源中没有python3&#xff0c;需要下载包进行源码编译安装。 安装步骤 1、安装python3相关依赖包 yum -y install zlib-devel bzip2-devel openssl-devel nc…...

如何解锁华为手机PIN/图案/指纹/人脸锁?

您的手机存储主要数据&#xff0c;因此为您的设备设置安全代码让您高枕无忧。屏幕和生物识别锁可在手机丢失时保护您的手机&#xff0c;并使其在被盗时无法访问。每次您需要密码来解锁手机时&#xff0c;但如果您被锁在密码之外怎么办&#xff1f; 今天的话题将独家帮助华为用…...

物理层基本介绍

corset 0 告诉下行初始带宽是多少 initail DL BWP, 4g 是20M带宽&#xff0c;5G是FR1 如果5G是全带宽的话&#xff0c;手机很快就会没电了。 告诉手机带宽会分布在某一个带宽里面去&#xff0c;将手机的带宽调整就行。 DCI&#xff0c;告诉手机&#xff0c;未来的某一个时刻&a…...

数据库原理及应用期末复习汇总(附某高校期末真题试卷)

文章目录《数据库原理及应用》试题1一、选择题&#xff08;共35分&#xff09;二、填空&#xff08;每空1分&#xff0c;共20分&#xff09;三、T-SQL综合题(共35分)四、综合应用题(共10分)《数据库原理及应用》试题2一、选择题&#xff08;共35分&#xff09;二、填空&#xf…...

mummerplot gnuplot 安装(nucmer)

可用ref&#xff1a;https://blog.sciencenet.cn/home.php?modspace&uid2970729&doblog&id1174911 下载稳定老版本gnuplot v4.6.2 mkdir gnuplot && cd gnuplot wget https://sourceforge.net/projects/gnuplot/files/gnuplot/4.6.2/gnuplot-4.6.2.tar…...

怎样做校园外卖配送系统创业?打造一体化服务校园平台如何进行?

在大学校园里&#xff0c;兼职赚钱、勤工俭学、自主创业是一种普遍现象。如今&#xff0c;大学校园在大力支持在校生自主创业。比如用校园外卖配送系统创业&#xff0c;不仅可以丰富校园生活&#xff0c;接触人和事&#xff0c;还可以积累经验。 怎样做校园外卖配送系统平台&am…...

MySQL(三):切分,主从复制,读写分离

文章目录一、切分水平切分垂直切分水平切分策略二、主从复制三、读写分离一、切分 水平切分 水平切分又称为sharding,它是将同一个表中的记录拆分到多个结构相同的表中。当一个表的数据不断增多的时候&#xff0c;sharding是必然的选择&#xff0c;它可以将数据分布到集群的不…...

王道考研——计算机网络(第一章 计算机网络体系结构)

1.0认识计算机网络 在下载电影&#xff08;不会出现乱序问题&#xff09;和微信收发消息&#xff08;比如表情包乱序了&#xff09;所使用的协议是不同的 1.1-1概念和功能 &#xff08;1&#xff09;计算机网络的概念 &#xff08;2&#xff09;计算机网络的功能 &#xff08;…...

ElementUI中为什么使用this.$refs.form.validate验证成功却直接跳过

ElementUI中为什么使用this.$refs.form.validate验证成功却直接跳过 问题背景 在写一个Vue练手项目时&#xff0c;我使用rulse对表单中用户输入的数据进行校验&#xff0c;但莫名奇妙就发现&#xff1a;当我点击提交表单时&#xff0c;表单中的数据都验证成功了&#xff0c;但是…...

全期望值定理与全方差定理

全期望值定理&#xff08;law of total expectation&#xff09;比较熟悉&#xff0c;竟然还有个全方差定理&#xff08;law of total variance&#xff09;&#xff0c;关于条件期望与条件方差的&#xff0c;总结一下。 1. 全期望值定理 随机变量 XXX 关于另外一个随机变量 …...

股票的最大利润 AcWing (JAVA)

假设把某股票的价格按照时间先后顺序存储在数组中&#xff0c;请问买卖 一次 该股票可能获得的利润是多少&#xff1f; 例如一只股票在某些时间节点的价格为 [9,11,8,5,7,12,16,14]。 如果我们能在价格为 5 的时候买入并在价格为 16 时卖出&#xff0c;则能收获最大的利润 11。…...

Go 语言函数调用参数传递规则

1. 调试环境Go 版本&#xff1a;1.19.3Gdb 版本&#xff1a;12.1CPU 架构&#xff1a;amd64Linux 发行版&#xff1a;Ubuntu 22.04Linux 内核版本&#xff1a;5.15.0-482. 函数调用参数传递规则版本变化在 Go 中函数间进行调用时&#xff0c;主调&#xff08;caller&#xff09…...

二分查找【零神基础精讲】

来源0x3f&#xff1a;https://space.bilibili.com/206214 文章目录二分查找[34. 在排序数组中查找元素的第一个和最后一个位置](https://leetcode.cn/problems/find-first-and-last-position-of-element-in-sorted-array/)[162. 寻找峰值](https://leetcode.cn/problems/find-p…...

「计算机组成原理」数据的表示和运算(上)

文章目录一、进位计数制1.1 其他进制转十进制1.2 十进制转其他进制1.3 二进制、八进制和十六进制1.3 真值和机器数二、BCD码2.1 8421码2.2 余3码2.3 2421码三、整数的表示和运算3.1 无符号整数3.1.1 无符号整数的表示3.1.2 无符号整数的运算3.2 有符号整数3.2.1 有符号整数的表…...

分层,均质,稀薄燃烧

均质燃烧&#xff1a; 只能使用火花点燃。 即为普通燃烧方式,燃料和空气混合形成一定浓度的可燃混合气&#xff08;厂家自配&#xff09;,整个燃烧室内混合气的空燃比是相同的,经火花塞点燃燃烧。这种燃烧方式使燃料和空气充分混合,燃料完全燃烧,从而获得大的输出功率。为使混合…...

mybatis-plus小课堂:多表查询【案例篇】(apply 拼接 in SQL,来查询从表某个范围内的数据)

文章目录 引言I 多表查询1.1 多表查询:在mapper.xml 写语句和拼接查询条件1.2 多表关联:Java代码中书写语句和拼接查询条件1.3 案例:左外连接II mybatis-Plus 之 apply 拼接 in SQL2.1 apply源码实现2.2 apply 拼接 in SQLIII 常见问题3.1 Cause: comColumn xxx in where cl…...

HashMap原理详解

一、hashmap简介 hashmap是Java当中一种数据结构&#xff0c;是一个用于存储Key-Value键值对的集合&#xff0c;每一个键值对也叫作Entry。 二、JDK7的HashMap1、JDK7时HashMap的数据结构 1、在JDK7之前&#xff0c;hashmap底层采用数组链表的数据结构来存储数据 2、插入数据采…...

推荐3款远程办公软件

一款好用的远程办公软件能够大大的提高我们的办公效率&#xff0c;在这篇文章中&#xff0c;我们将为您推荐几款常见又好用的远程办公软件&#xff0c;以帮助您能更加高效的远程办公。电脑远程办公软件有很多&#xff0c;本文主要从团队沟通软件、视频会议软件、远程控制软件等…...

计算机中有符号数的表示

文章目录二进制数制十进制二进制位模式基本数据类型无符号数的编码有符号数的编码原码&#xff08;Sign-Magnitude&#xff09;反码&#xff08;Ones Complement&#xff09;补码&#xff08;Twos Complement&#xff09;概念导读编码格式按权展开补码加法扩展一个数字的位表示…...

MySQL(一)服务器连接 库的基本操作

目录 一、连接服务器 二、简单使用 三、校验规则 条件筛选 where 进行order排序 三、查看数据库 使用 show databases&#xff1b;&#xff08;注意分号和最后一个s&#xff09; 显示创建数据库的详情信息&#xff1a;使用show create database test2; 四、修改数据库 五…...

Maven怎样构建生命周期?

项目构建生命周期Maven的本质是一个项目管理工具&#xff0c;将项目开发和管理过程抽象成一个项目对象模型(POM)。Maven构建生命周期描述的是一次构建过程经历经历了多少个事件。对项目构建的生命周期划分为3套&#xff0c;其中clean负责清理工作&#xff0c;default负责核心工…...

真实3D地形生成器【免费在线】

Terrain3D是一个免费的在线3D地形生成器&#xff0c;只需指定地球上的坐标&#xff0c;就可以自动生成附近区域的3D地形同时叠加卫星影像&#xff0c;并且可以导出GLTF格式的3D地形模型。 推荐&#xff1a;使用 NSDT场景设计器 快速搭建 3D场景。 使用Terrain3D生成真实世界的3…...

华为OD机试 - 整数编码(Python)

整数编码 题目 实现一个整数编码方法 使得待编码的数字越小 编码后所占用的字节数越小 编码规则如下 编码时7位一组,每个字节的低 7 位用于存储待编码数字的补码字节的最高位表示后续是否还有字节,置1表示后面还有更多的字节,置0表示当前字节为最后一个字节采用小端序编码…...

【GlobalMapper精品教程】051:融合Dissolve操作详解

本节讲解globalmapper中融合Dissolve工具的使用。 文章目录 一、工具介绍1. 工具位置2. 融合工具二、案例实战1. 加载实验数据2. 根据字段分组融合案例一:根据地类名称分组,将相同的类型融合到一起。案例二:根据权属地类名称分组,将相同的类型融合到一起。一、工具介绍 1.…...

网站规划与网页设计案例/电商网站建设公司哪家好

...

一级a做爰片试看 免费网站/企业qq一年多少费用

2019独角兽企业重金招聘Python工程师标准>>> ping IPADDR 测试网络是否连通 -s 字节数 -i 发送间隔 -c 次数 traceroute 显示路由追踪信息 IPADDR/HOSTNAME route 显示路由 -n 数字形式 -host HOSTNAME route add -net IPADDR netmask NETMASK gw GATEWAY route del…...

真做视频网站/百度推广登录页面

1、Python有两种提示符&#xff08;>>>&#xff09;和次提示符&#xff08;…&#xff09;。主提示符是解释器告诉你它在等待你输入下一个语句&#xff0c;次提示符告诉你解释器正在等待你输入当前语句的其他部分。 2、Python有两种主要的方式来完成你的要求&#xff…...

与有权重网站做友链/淘数据官网

表示程序性能 CPE&#xff1a; Cycles Per Element&#xff0c;每元素的周期数&#xff0c;作为表示程序性能的表示方法 处理器活动的顺序由时钟控制&#xff0c;其提供某个频率的规律信号&#xff0c;数量级为GHz 使用时钟周期表示&#xff0c;度量值表示的是执行了多少条指…...

随州网站设计开发服务/电商怎么做营销推广

*.settings bin gen .classpath .project *.o *.lo *.la *.al .libs *.so *.so.[0-9]* *.a *.pyc *.pyo __pycache__ *.rej *~ #*# .#* .*.swp .DS_Store...

想开一个网站开发的公司/班级优化大师怎么用

免费开通大数据服务&#xff1a;https://www.aliyun.com/product/odps “用户每天产生的日志量大约在2TB。我们需要将这些海量的数据导入云端&#xff0c;然后分天、分小时的展开数据分析作业&#xff0c;分析结果再导入数据库和报表系统&#xff0c;最终展示在运营人员面前。”…...