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

C++I/O流详解

目录

一,引入

二,C++中的输入输出

1,输入输出流分类

2,I/O流类的安全性和可扩展性

(1)I/O流类的安全性

(2)I/O流类的扩展性

三,流类库简介

1,I/O流类库

2,缓冲区类

四,标准输出流和标准输入流

1,提取运算符、插入运算符

(1)”>>”运算符

(2)”<<”运算符

2,预定义流对象

(1)cerr和clog

3,标准输出流类常用成员函数

(1)put()函数:用于输出单个字符

(2)write()函数:用于输出一个字符串的部分或全部字符

4,标准输入流类常用成员函数

(1)get()函数

(2)getline()函数

(3)get()和getline()函数的比较

(4)read()函数

(5)其他成员函数

五,格式化控制

1,格式标志控制成员函数

(1)精度、域宽、填充字符的设置

2,格式控制操作符

(1)无参操作符

(2)有参操作符

六,文件流

1,构建文件流对象

(1)调用默认构造函数

(2)调用(带参)构造函数时指定文件名

2,文件的打开和关闭

(1)打开文件

(2)关闭文件

(3)文件的打开和关闭案例

(4)文件的读写、定位

(3)文件的随机读写(定位)

(4)文本文件和二进制文件的区别


一,引入

输入输出操作是程序中必不可少的操作,通过输入输出可以完成程序和外界的交互。

C++语言支持两种I/O操作:

(1)从C语言继承来的I/O函数输入输出语句:scanf()printf()函数

(2)面向对象的I/O流类库:标准输入输出流cout和cin,在头文件iostream.h中定义。 I/O流不是C++语言的一部分,而是标准C++库的一部分,是C++类的一个集合。

二,C++中的输入输出

输入输出是数据的传递过程,数据如流水一般从一处流向另一处,C++形象的将此过程称为流。

输入操作:是控制序列中的字节内容从一个设备流入内存

输出操作:是控制序列中的字节内容从内存流向某个设备

1,输入输出流分类

根据I/O操作对象的不同,将I/O操作分为三类:

(1)标准I/O——以标准输入、输出设备为操作对象

(2)文件I/O——以磁盘文件为操作对象

(3)字符串I/O——以内存中指定的空间(通常为字符数组)为操作对象

2,I/O流类的安全性和可扩展性

(1)I/O流类的安全性

C中存在的问题:

在C语言中,用scanf()与printf()函数进行输入输出,不能保证输入输出的数 据是可靠安全的。

例如:

int i = 1;

scanf("%d",i);        //漏掉符号&:发生不可预测的错误,造成安全隐患

printf("%d", "C++");   //输出“C++”字符串的地址而不是字符串内容:不如人 意

C++的对策:

C++的输入输出对数据类型进行严格的检查,凡是类型不正确的数据不可能通 过编译,因此C++的I/O操作是类型安全的。

(2)I/O流类的扩展性

C中存在的问题:

用scanf()与printf()输入输出数据时,无法直接输出用户自定义的数据类型

C++的对策:

C++对I/O操作进行了扩展,不仅可以用来输入输出标准类型的数据,也可以 用于用户自定义类型的数据。提高软件的重用性,加快软件的开发过程。

三,流类库简介

C++系统定义了不同的stream类,构造不同的数据流以实现不同数据的读写,形成了一 个庞大的I/O类库,其基本思想就是用C++中的类来进行输入输出。

输入操作:数据流出stream,即把stream流中的数据读取出来

输出操作:数据流入stream,即将数据与入到流中送到某个地方

1,I/O流类库

C++中输入输出操作由I/O类库实现,该类库是一个庞大的继承机构,其根基类为 ios,直接派生出4个类:输入流类istream、输出流类ostream、文件流基类 fstreambase、字符串流基类strstreambase

这四个类又派生出其他类,形成了标准I/O流类库、文件流类库和字符串流类库。 学习I/O操作,就是学习这些类提供的成员函数,了解函数用法,实现不同流的读 写。

输入输出流类iostream:同时继承了输入流类和输出流类

输入文件流类ifstream:同时继承了输入流类和文件流基类

输出文件流类ofstream:同时继承了输出流类和文件流基类

输入输出文件流类fstream:同时继承了输入输出流类和文件流基类

输入字符串流类istrstream:同时继承了输入流类和字符串流基类

输出字符串流类ostrstream:同时继承了输出流类和字符串流基类

输入输出字符串流类strstream:同时继承了输入输出流类和字符串流基类

读取文件我们一般用istream和ostream

C++流类库中定义的各种流可以供用户直接使用,它们分别包含在iostream、fstream、 strstream三个头文件中,其包含情况如下所示:

(1)进行标准I/O操作时使用iostream头文件,它包含ios、iostream、istreamt 和ostream等类。

(2)进行文件I/O操作时使用fstream头文件,它包含fstream、ifstream、ofstream 和fstreambase等类。

(3)进行串I/O操作时使用strstream头文件,它包含strstream、istrstream、 ostrstream等类。

2,缓冲区类

在对数据进行输入输出时,为了减少输入输出的次数,节省计算机资源,常常需要使用到缓冲区,在C++中,系统提供了一个缓冲区流类库,它是以抽象类streambuf 为父类的类层次,主要完成信息通过缓冲区的交换。

所谓缓冲区,就是当数据传递时,在内存中为每一个数据流开辟的一个用来存放数据流中的数据的地方缓冲输入或输出的数据,又称为缓存。

C++系统在定义一些流对象时都会自带有缓冲区,它提供的缓冲区有三种类型:

(1)全缓冲:直到缓冲区被填满时才调用I/O函数。对于读操作来说,直到读入 内容的字节数等于缓冲区大小或者文件已经到达结尾,才进行实际的I/O操作, 将外存文件内容读入缓冲区;对于写操作来说,直到缓冲区被填满,才进行实 际的I/O操作,将缓冲区内容写到外存文件中。

(2)行缓冲:当在输入和输出中遇到换行符或者缓冲区被填满时,才执行真正的 I/O操作。这时,我们输入的字符先存放在缓冲区,等按下回车键换行时才进 行实际的I/O操作。标准的输入输出一般都是行缓冲。

(3)无缓冲:没有缓冲区。比如标准错误信息输出对象cerr

用户也可用上述缓冲区类来自定义缓冲区。但在使用缓冲区时要注意对缓冲的 刷新。当数据存储在缓冲区时,如果要执行I/O操作,需要刷新缓冲区,将缓 冲区中的数据读/写到某一指定地方。要刷新缓冲区有以下几种方式:

(1)缓冲区满时

(2)执行flush()函数

(3)执行endl语句

(4)关闭文件

如果调用flush()函数来刷新缓冲区,它可以执行I/O操作并清空缓冲区;endl 控制符的作用是将光标移动到输出设备中下一行开头处,并且清空缓冲区。

四,标准输出流和标准输入流

1,提取运算符、插入运算符

C++中输入输出操作是通过类库完成的,istream/ostream类中预定义了输入输出对 象及多种输入输出功能,最简单的就是使用提取运算符“>>”和插入运算符“<<” 完成数据读写。C语言中“>>”、“<<”是位操作运算符,完成数据的左移、右移操作,C++中istream/ostream对它们进行了重载,用以完成数据读写。

C++在进行输入时需要从流中提取数据,在输出时需要向流中插入数据,提取和插 入是通过在流类库中重载“>>”和“<<”运算符来实现的。

(1)”>>”运算符

提取运算符“>>”,又叫输入运算符,它的本义是右移操作,常用于位运算中。 C++的I/O流为了实现从流中提取数据,就在istream类中重载了“>>”运算符。

(2)”<<”运算符

插入运算符“<<”,又叫输出运算符,它的本义是左移操作,常用于位运算中。 C++的I/O流为了实现将数据插入到流中,就在ostream类中重载了“<<”运 算符。

2,预定义流对象

C++提供了4个预定义的标准流对象:cin、cout、cerr、clog,包含在头文件iostream 中。

其中cin是istream类的对象,用于处理标准输入(即键盘输入);cout是ostream 类的对象,用于处理标准输出(即屏幕输出);cerr和clog也都是ostream类的对 象,用于处理标准出错信息,并将信息显示到屏幕上。

在这四个标准流对象中,除了cerr不支持缓冲外,其余3个都带有缓冲区。

 cin和cout我们已经非常熟悉了,我们这里说一下cerr和clog

(1)cerr和clog

cerr和clog都是ostream类预定义的流对象,都是用于标准错误输出,默认设 备都是显示器,只是cerr没有缓冲,信息直接输出给屏幕,不会等到缓冲区 填满或遇到换行符才输出错误信息。

cerr和clog多用于输出调试信息,我们这里cout输出流对象已经足够使用了, cerr和clog了解即可

3,标准输出流类常用成员函数

除了常用的插入运算符“<<”外,标准输出流库还提供了put()、write()函数用于数 据输出。

(1)put()函数:用于输出单个字符

函数声明:

ostream& put(char ch);

或:ostream& put(count char ch);

功能:用于输出单个字符。可以将一个字符型变量或一个字符常量输出到屏幕 上。

说明:put()函数的返回值为ostream类对象的引用,可以被cout对象连续调 用。

put函数的用法

#include <cstdlib>
#include <iostream>
using namespace std;int main()
{char ch = 'a';  cout.put(ch) << endl;cout.put('a').put('b').put('c');return 0;
}

输出结果

a

abc

(2)write()函数:用于输出一个字符串的部分或全部字符

函数声明:

ostream& write(const char* str, int n);

功能:用于输出一个字符串的部分或全部字符

说明:第一个参数是要输出的字符串的地址,第二个参数是要输出的字符个数。 若要输出字符串的全部字符,则第二个参数的值可以通过strlen()函数求出。 函数的返回值为ostream类对象的引用,可以被cout对象连续调用。

write()函数的用法

#include <cstdlib>
#include <iostream>
using namespace std;int main()
{char *p = "nihao";cout.write(p,strlen(p)).put('\n');return 0;
}

输出结果

nihao

4,标准输入流类常用成员函数

istream流类还提供了get()getline()read()等成员函数用于完成多种形式的数据读入:

get()实现字符的输入;getline()实现字符串的输入;read()实现无格式输入等。

(1)get()函数

get()函数有3种重载形式:

函数声明:

int get();

istream& get(char& ch);

istream& get(char* dst, streamsize size, char delimiter=’\0’);

功能:

读取单个、多个字符数据。

第一种形式:表示从输入流中读取一个字符,返回该字符的int值,遇到文件 结束符时,返回EOF。

第二种形式:表示从输入流中读取一个字符,存储在ch中。

第三种形式:第三个参数是字符串的结束符。用于读取字符串,遇到指定的结 束字符或读满指定数量的字符时,函数返回。表示从输入流中连续读取最多 size-1个字符(因为最后一个字符要留给字符‘\0’),也可以设置结束符为别 的字符,遇到这个字符就结束读取,并且结束符不包含在所读取的字符串内。 如果一直读取到size-1个字符也没有遇到结束符,则在结束读取时会自动在末 尾加‘\0’。

get()函数的用法

#include <cstdlib>
#include <iostream>
using namespace std;int main()
{//第一种方式调用cout << "第一种方式:" << cin.get() << endl;//第二种方式char ch;cin.get(ch);cout << "第二种方式:" << ch << endl;//第三种方式char str[8];cin.get(str,6,'f');cout << "第三种方式:" << str << endl;return 0;
}

输出结果

abcftrgh

第一种方式:97

第二种方式:b

第三种方式:c

(2)getline()函数

get()函数一次读取一个字符,显然效率不高,而getline()函数可以一次读取一 个字符串

函数声明:

istream& getline(char* dst, streamsize size, char delimiter=’\n’);

功能:

第三个参数是字符串的结束符,其参数的意义与get()函数的第三种重载方式 相同,使用方法也类似,当getline()遇到结束符时,就不再接受输入了。但 getline()函数默认的结束符是’\n’,它可以读取空格、制表符等内容。

getline()函数的用法

#include <cstdlib>
#include <iostream>
#include <cstring>
using namespace std;int main()
{char s[10];cin.getline(s, 10);cout << s << endl;return 0;
}

输出结果

abcdefg

abcdefg

(3)get()和getline()函数的比较

get()、getline()函数在碰到结束符后都停止读入,get()函数将结束符仍留在输入缓冲中,getline()函数会将结束符从输入缓冲中读走并丢弃。

(4)read()函数

istream类还提供了成员函数read(),可以从输入流中读取部分或全部数据到指 定的内存空间。

函数声明:

istream& read(char* dst, streamsize size);

功能:读取指定数量的字符。read()函数参数的含义与get()、getline()函数的参 数含义相同,都是读取size-1个字符存储在首地址为dst的内存空间。

read函数的用法:

#include <cstdlib>
#include <iostream>
#include <cstring>
using namespace std;int main()
{char buf[12];cin.read(buf, 10);cout << buf << endl;return 0;
}

输出结果

abcdefghijk

abcdefghij烫烫烫碰赛Z

(5)其他成员函数

ignore()函数

函数声明:[ɪg'nɔː]忽略

istream& ignore(streamsize num=1, int dellm=EOF);

功能:

从输入流中读取字符,直到读入num个字符(默认为1),或直到字符dellm (默认为EOF)被读入(虚读)。即跳过输入流中的num个字符,或在遇 到指定的终止符时提前结束。

putback()函数

函数声明:

istream& putback(char ch);

功能:

把上次通过get()或getline()读取的字符再放回输入流中。当前指针回退到 上次读入的位置。

peek()函数

函数声明:

int peek();

功能:[piːk]偷看一眼

检查输入流的下一个字符,不会删除字符,字符指针也不会移动,返回值 是指针指向的当前字符。

gcount()函数

函数声明:

streamsize gcount();

功能:

计算最后一个非格式化方法(get()/getline()/read()/ignore())读取到的字符 数。

例如:putback()、peek()、gcount()函数的用法:根据输入的第一个字符判 断输入的是数字还是字符串

五,格式化控制

1,格式标志控制成员函数

(1)精度、域宽、填充字符的设置

精度是数中的数字个数。小数位数是数中小数点右边的数字个数。例如:123.45 的精度是5,小数位数是2。

①浮点数精度设置

重载函数:

int ios::precision();

int ios::precision(int n);

功能:返回精度

第一种形式:返回当前的输出精度

第二种形式:设置输出精度为n位,并返回设置前的精度。

说明:设置精度后,该精度对之后所有的输出操作都有效,直到下一次的 精度设置为止。精度最小值为1,如果精度设置为0,则系统会按默认精 度显示数据。

②域宽设置

域宽是输入输出时所占用的字符数。

重载函数:

int ios::width() const;

int ios::width(int n) ;

功能:

第一种形式:返回当前的域宽值,未设置时,域宽的取值为0。

第二种形式:设置域宽为n位,并返回设置前的域宽值。设置的域宽在下 一次格式化输出时有效,而且只对其后的第一个输出有影响,输出完成后, 域宽又立即置为0。

说明:如果数据实际宽度比设置的域宽小,空位用填充字符来填充,如果 实际宽度比设置的域宽大,数据并不会被截断,而是会输出所有位(突破 域宽)。

函数setw()也可以设置域宽。

函数声明:

setw(int n);

功能:可以将设置宽度命令插入到输入/输出流中,比单独调用格式化函 数方便。当数据的实际宽度比设置的宽度大时,将显示整个数据值。

注意:setw(int n)不是ios类的成员函数,它属于操作符,包含在iomanip 头文件中。

③填充字符设置

当输出数据实际宽度小于域宽时,用填充字符来填充。默认填充字符为空 格,用户也可以设置填充字符。

重载函数:

char ios::fill() const;

char ios::fill(char ch) ;

功能:

第一种形式:返回当前填充字符的值。

第二种形式:设置填充字符为ch。

函数setfill()也可以设置填充字符。

函数声明:

setfill(char c) const;

功能:该函数可以直接插入流中,与setw()函数一样,包含在iomanip头 文件中,并不是ios类的成员函数。

④案例:精度、域宽、填充字符的设置

代码如下:

#include <iostream>
using namespace std;int main()
{double i = 12.123545;cout.precision(5);	//设置精度为5,会四舍五入cout << "---精度设置---" << endl;cout << i<<endl;cout << "当前精度为:" << cout.precision() << endl;cout << "---域宽设置---" << endl;cout << "当前域宽为:" <<cout.width()<< endl;cout.width(6);	//设置域宽,默认是右对齐cout << "设置之后的域宽为:" << cout.width() << endl;cout << i << endl;cout << "---填充字符设置---" << endl;cout.width(10);	//设置域宽cout <<cout.fill('*') << i << endl;	//设置填充字符return 0;
}

输出结果

---精度设置---

12.124

当前精度为:5

---域宽设置---

当前域宽为:0

设置之后的域宽为:6

12.124

---填充字符设置---

********* 12.124

2,格式控制操作符

除了可用输入输出类库中专门的成员函数进行格式控制外,I/O流类库还提供了一 些专门的操作符(格式控制符),可直接嵌入输入输出语句中,实现I/O格式控制。

操作符是一种功能和ios成员函数相同,但使用更为便捷的函数,又被称为操纵子, 它们都包含在iomanip头文件中,要使用它们需要包含该头文件。

操纵子都返回引用类型,因此操作符可以连用。使用操作符可以简化程序编写,使 程序结构变得清晰。

C++语言提供两种操作符:无参操作符、有参操作符。

(1)无参操作符

无参操作符实现了常用的输入输出格式控制

操作符(格式控制符)

含义

dec

数值数据采用十进制输出

hex

数值数据采用16进制输出

oct

数值数据采用8进制输出

ws

从输入流中提取空字符

endl

插入换行符,并刷新输出缓冲流

ends

插入空字符

flush

刷新流

(2)有参操作符

有参操作符实现了复杂的输入输出格式控制。

操作符(格式控制符)

含义

resertionflag(long n)

清除n指定的格式化标志

setbase(int n)

设置整形基数(0~10为十进制)为n

setfill(char c)

设置填充字符为c

setiosflags(long n)

设置n指定的格式化标志

setprecision(int n)

设置精度为n:浮点数的小数位(包括小数点)

setw(int n)

设置域宽为n

有参操作符与无参操作符可以组合使用,达到ios类提供的成员函数的功能。

六,文件流

ifstream:输入文件流类,用于实现文件的输入

ofstream:输出文件流类,用于实现文件的输出

fstream:输入输出文件流类,可以同时实现文件的输入和输出

用这三个类来构建输入/输出/输入输出流,然后进行文件的读写操作。这三个类都包含 在fstream头文件中,所以在使用这三个类时需要包含fstream头文件。

(1)文件操作前,应当创建文件I/O类对象,相当于C语言中定义FILE *变量,用于记 录文件句柄。

两种创建类对象的方法:

一种是调用默认构造函数创建类对象;

另一种是调用带参构造函数创建对象,参数为文件名称,此时也完成了文件的打开。文 件具有默认打开方式,即若是ifstream对象则以读方式打开。

(2)文件操作的基本流程:打开、读写、关闭。

若想打开文件,还可调用open()函数,函数中可指定打开方式。

文件操作完毕后,应调用close()函数关闭文件,实现资源回收、缓冲清理。

1,构建文件流对象

文件流不像标准I/O流预定义了输入/输出流对象,所以在使用文件流时需要调用 相应类的构造函数来构建文件流对象。构造文件输入输出流的常用方法有两种:

(1)调用默认构造函数

ifstream ifs;   //定义一个文件输入流对象

ofstream ofs;  //定义一个文件输出流对象

fstream fs;    //定义一个文件输入输出流对象

(2)调用(带参)构造函数时指定文件名

ifstream ifs("filename");   //指定文件名,此时也完成了文件的打开

ofstream ofs("filename");

fstream fs("filename");

在使用文件流对象进行输入输出时,同样可以使用插入运算符“<<”和提取运 算符“>>” 

ifstream ifs;   //构建一个输入流对象

……(打开文件)

char ch;

ifs >> ch;    //将文件流的数据存储到ch变量中

提取运算符“>>”是用于格式化文本输入的,在提取数据时,以空白符为分隔, 如果要输入一段包含空白符的文本,用提取运算符就很不方便,在这种情况下, 可以选择使用非格式化成员输出函数getline(),这样就可以读取一段包含有空

格的文本块,然后再对其进行分析。

2,文件的打开和关闭

(1)打开文件

两种打开文件的方式:调用文件流的带参构造函数打开文件、调用文件流的成 员函数open()。

①用文件流的带参构造函数打开文件:

调用带参构造函数创建文件流对象时,传入指定的文件,此时也完成了文 件的打开。文件具有默认打开方式,即若是ifstream对象则默认以读方式 (输入方式)打开,ofstream对象默认以输出方式打开文件,fstream对 象默认以输入/输出方式打开文件。

例如:

fstream file1("c:config.sys");  //以输入输出方式打开文件

ifstream file2("c:pdos.def");   //以输入方式打开文件

ofstream file3("c:x.123");     //以输出方式打开文件

②用文件流的成员函数open()打开文件:

ifstream类、ofstream类、fstream类都提供了成员函数open()用于打开文 件。

格式:

void open(const char* filename, int mode, int prot=filebuf::openprot);

说明:

第一个参数filename是要打开文件的文件名;第二个参数表示文件的打开方式;第三个参数是文件打开时的保护方式(文件的属性),该参 数 与操作系统 有关,通常默认值为filebuf::openprot。

如果文件打开失败,open()函数执行后流对象的值为0(假);如果是调用带参构造函数打开文件失败,则流对象的值为0,可以据此测试文件打开 是否成功。

 这些文件打开方式通常可组合使用,用“位或”运算符对输入输出方式进 行组合。

例如:

ofstream ofs;

ofs.open(“Hello.txt”, ios::in | ios::out | ios::binary)

对于ifstream类对象其文件的默认打开方式是ios::in,ostream类对象打 开文件的默认方式是ios::out,fstream类对象没有默认打开方式。

(2)关闭文件

ifstream类、ofstream类、fstream类都提供了成员函数close()用于关闭文件。

ofstream ofs;

ofs.open(“file1”);   //打开file1文件

ofs.close();    //关闭file1文件

ofs.open(“file2”);   //关闭file1文件后,再打开file2文件

ofs.close();

(3)文件的打开和关闭案例

在D盘创建一个txt文本,命名为test,然后在里面随便输入一段话

 代码如下:

# include <iostream>
# include <fstream>
using namespace std;
int main()
{ifstream ifs;	//构造输入流ifs.open("D:\\test.txt",ios::in);if (!ifs){cout << "打开失败" << endl;}else{cout << "打开成功" << endl;}ifs.close();return 0;
}

输出结果

打开成功

(4)文件的读写、定位

文件是存放信息的载体,文件读写是文件操作的主要目的。C++文件I/O类继 承了ios、istream、ostream基类的读写函数用于实现读写操作,如get()、getline()、 read()、write()函数均可用于操作文件。需要注意的是若需要操作二进制文件, 除了在打开文件时需要指明操作二进制文件外,其读写操作一般由read()、 write()函数完成。

对于常规文件来说,除了完成读写,还可以对其进行定位,即修改文件位置指 针。定位函数为seekg()、seekp(),tellp()、tellg()函数用于获取文件当前读写位 置。

①文本文件的读取

可以使用提取运算符“>>”和插入运算符“<<”实现文件的读写,get()、 getline()、read()、write()函数均可用于操作文件。

文本的读取:

案例:还是以上面的代码为例

# include <iostream>
# include <fstream>
using namespace std;
int main()
{ifstream ifs;	//构造输入流ifs.open("D://test.txt",ios::in);char buf[255];while (!ifs.eof()){ifs.getline(buf, 255, '\n');	//调用文件输入流类ifstream的基类的getline()成员函数cout << buf << endl;}ifs.close();return 0;
}

输出结果

原是今生今世已惘然,山河岁月空惆怅,而我,终将是要等着你的。 一双冷眼看世人,满腔热血酬知己。相逢秋月满,更值夜萤飞。

注意:在vs中读取txt的话可能会出现乱码的情况,因为是编码方式存在 差异,txt文本保存默认是UTF-8,而控制台的编码方式为ANSI,所以 我们把txt文件的编码方式改成ANSI就可以了。我们打开我们创建的test 文本,另存为test1.txt,下面可以选择编码方式,我们把编码方式改成ANSI

 然后删掉原来的text.txt,把test1.txt改成test.txt即可,在运行的话就不 会出现乱码的现象了

文本文件的写入:

# include <iostream>
# include <fstream>
using namespace std;
int main()
{ofstream ofs;ofs.open("D://test.txt", ios::trunc);	//trunc是打开文件前将文件清空string s = "i live you";if (ofs){for (int i = 0; i < s.size(); i++){ofs << s[i];}cout << "打开成功" << endl;}else{cout << "打开失败" << endl;}ofs.close();return 0;
}

输出结果

打开成功

我们打开D盘的test.txt就可以发现里面的内容发生变化了

 错误处理函数

eof()是文件流中的错误处理函数,遇到文件结尾会返回true(一个非零值)。 C++文件流还提供了一些其他的进行错误处理的成员函数,它们都返回 bool类型的值。

(2)二进制文件的读写

二进制文件的读写,文件流提供了两个成员函数read()、write()

read()函数是类istream的一个成员函数,被ifstream所继承;write()函数 是ostream类的一个成员函数,被ofstream类所继承;类fstream的对象 同时拥有这两个函数。

函数声明:

istream& read(char* buf, int size);

ostream& write(const char * buf, int size);

说明:buf是一个内存地址,用来存储或读出数据;size表示数据传输的 字符个数。

案例:向一个二进制文件中写入数据,再读取出来。

在D盘创建一个student.bat文件

 

# include <iostream>
# include <fstream>
using namespace std;
struct Student
{char name[20];int age;
};
int main()
{Student student;cin >> student.name >> student.age;ofstream ofs("D://student.bat", ios::out | ios::binary);	//构建输入流对象ofs.write((char*)&student, sizeof(student));	//写入文件ofs.close();Student stu;	//接收读取的文件ifstream ifs("D://student.bat", ios::in | ios::binary);	//构建输出流对象if (!ifs){cout << "打开失败" << endl;}else{cout << "打开成功" << endl;while (ifs.read((char*)&stu, sizeof(stu))){cout << "姓名:" << stu.name << "年龄:" << stu.age << endl;}}ifs.close();return 0;
}

输出结果

kkk 23

打开成功

姓名:kkk年龄:23

用记事本打开student.bat文件,可以看见内容已经变成了上面的内容

第14行将 student 对象写入文件。student的地址就是要写入文件的内存 缓冲区的地址。但是&student不是char * 类型,因此要进行强制类型转 换。

注意:在进行二进制文件读写时,文件打开模式必须是binary(二进制文 件)。

(3)文件的随机读写(定位)

在C语言中要实现文件的随机读写是依靠文件位置指针,在C++中实现文 件的随机读写也是依靠移动文件位置指针来完成的。

ifstream有一个被称为get pointer的指针,指向下一个将被读取的元素。 ofstream有一个指针put pointer,指向写入下一个元素的位置。C++在文 件输入流和文件输出流中都提供了设置文件位置指针的函数(定位)。

对于输入流,istream类提供了seekg()、tellg()两个定位函数。tellg()函数 用于获取文件指针的当前位置。

函数声明:

istream& seekg(streampos);   //文件指针直接定位

istream& seekg(streamoff, ios::seek_dir);   //指针相对定位(相对于第二个 参数向前或后移动)

long tellg();   //返回指针的当前位置

①seekg(streampos)函数

seekg(streampos)函数用于直接定位文件位置指针,streampos是长整 型数据,它是以文件开始处为参考点,将文件位置指针移动到参数所 指位置。

②seekg(streamoff, ios::seek_dir)函数

两个参数的seekg()函数是相对定位文件位置指针(相对于第二个参 数向前或向后移动第一个参数指定的距离),streamoff也是长整型 数据,表示指针的偏移量,可正可负可零,为正时表示指针向后 移动,为负时表示指针向前移动,为零时表示指针相对于当前位置不 动。seek_dir是ios类中定义的一个公有枚举类型,其定义如下:

enum seek_dir
{ios::beg=0;  //文件开头ios::cur=1;   //文件指针当前位置ios::end=2;   //文件结尾
}

seek_dir取不同的值表示从不同的位置开始移动指针。

例如:

ifs.seekg(20L, ios::cur);   //文件指针从当前位置向后移动20个字节

ifs.seekg(-20L, ios::end);   //文件指针从文件尾向前移动20个字节

ifs.seekg(0,ios::beg)      //文件指针移到文件开头

③tellg()函数

返回文件指针的当前位置(整形数值),往往与seekg()函数配合使用。 此函数仅当在读取一个文件时有效。

对于输出流,ostream类提供了seekp()、tellp()两个定位函数。tellp() 函 数用于获取文件指针的当前位置。

函数声明:

ostream& seekp(streampos);   //文件指针直接定位

ostream& seekp(streamoff, ios::seek_dir);   //指针相对定位

long tellp();   //返回指针的当前位置

①seekp()函数

seekp()函数与seekg()函数有同样的功能,只不过它用于写文件时。

例如:假如在进行文件读写,若要定位到当前位置的3个字符之前,则需调用:FileHandle.seekg(-3);如果在写入一个文件,假如要重写 后5个字符,就必须往回跳转5个字符,应该使用: FileHandle.seekp(-5);

②tellp()函数

tellp()与tellg()有同样的功能,但它用于写文件时。当读取一个文件,并要知道文件位置指针的当前位置时,应该使用tellg();当写入一个 文件,并要知道文件位置指针的当前位置时,应该使用tellp()。

案例:文件的随机读写

我们利用前面的test.txt文本,内容是:i love you

# include <iostream>
# include <fstream>
using namespace std;
int main()
{ifstream ifs;	//构造输入流对象ifs.open("D://test.txt", ios::in | ios::out | ios::binary);cout << "输入流对象指针位置:" << ifs.tellg() << endl; //打开文件后查看指针位置ifs.seekg(5);	//打开文本后指针向后移动5个字符cout << "输入流对象移动指针后位置:" << ifs.tellg() << endl;	//移动指针后再看指针位置:5char ch;ifs.get(ch);	//获取当前指针处的字符cout << "当前指针出的字符是:" << ch<<endl;ofstream ofs;	//构造输出流对象ofs.open("D://test.txt", ios::in | ios::out | ios::binary);cout << "输出流对象指针位置:" << ofs.tellp() << endl;	//输出流打开文件后,查看指针位置ofs.seekp(3);	//将指针向后移动3个字节cout << "输出流对象移动指针后位置:" << ofs.tellp() << endl;	//移动指针后查看指针位置:3ofs.put('A');	//向当前指针处写入字符A,替换掉原来的字符ifs.seekg(ios::beg);	//将输入流的文件位置指针移动到开头char buf[20];while (!ifs.eof()){ifs.getline(buf, 20, '\n');cout << "当前文本内容为:" << buf;}ifs.close();ofs.close();return 0;
}

输出结果

输入流对象指针位置:0

输入流对象移动指针后位置:5

当前指针出的字符是:e

输出流对象指针位置:0

输出流对象移动指针后位置:3

当前文本内容为:i love you

运行结果显示字母A为写入,但是我们打开test.txt文本可以发现已经改成A了

 这是什么原因呢?

解答:同一个文件分别用读写打开,两个流各自维护了一个缓冲区。 ifstream流对文件内容没有影响,但它读取的是缓冲区中的数据, ofstream流修改数据也只是修改缓冲区中的数据,在最后关闭时才写 回文件。

解决方法:

方法1:刷新缓冲区:在当前指针处写入字符A后,用下面语句中的 任意一个,刷新缓冲区

//ofs.flush();  //刷新输出流,使写入的字符A进入缓冲区

//ofs<<flush;   //刷新输出流,此语句和上面语句功能相同

方法2:关闭文件:在当前指针处写入字符A后,关闭输出流

ofs.close();   //此语句提前到写入字符A后,读取文件前

方法3:将ifstream流与ofstream流连接起来:当要读取ifstream流 时,ofstream流会自动刷新

ifs.tie(&ofs);  //此语句加到写入字符A后,读取文件前

说明:

ostream tie(ostream *)

tie()是ostream类的成员函数。将当前流与指定的输出流连接起来。 每当需要读取当前流时,连接的流会自动刷新。C++流库已用 cin.tie(cout)将标准输入流与标准输出流连接起来。要取消与输出流的 连接可采用is.tie(0)

(4)文本文件和二进制文件的区别

用二进制文件存取的话比文本文件好一点

用文本方式存储信息不但浪费空间,而且不便于检索。例如,一个学籍管 理程序需要记录所有学生的学号、姓名、年龄信息,并且能够按照姓名查 找学生的信息。程序中可以用一个类来表示学生:

class Student
{char szName[20]; //假设学生姓名不超过19个字符,以 '\0' 结尾char szId[l0]; //假设学号为9位,以 '\0' 结尾int age; //年龄
};

如果用文本文件存储学生的信息,文件可能是如下样子:
Micheal Jackson 110923412 17
Tom Hanks 110923413 18

这种存储方式不但浪费空间,而且查找效率低下。因为每个学生的信息所 占用的字节数不同,所以即使文件中的学生信息是按姓名排好序的,要用 程序根据名字进行查找仍然没有什么好办法,只能在文件中从头到尾搜索。
如果把全部的学生信息都读入内存并排序后再查找,当然速度会很快,但 如果学生数巨大,则把所有学生信息都读人内存可能是不现实的。
可以用二进制的方式来存储学生信息,即把 Student 对象直接写入文件。 在该文件中,每个学生的信息都占用 sizeof(Student) 个字节。对象写入 文件后一般称作“记录”。本例中,每个学生都对应于一条记录。该学生 记录文件可以按姓名排序,则使用折半查找的效率会很高。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.exyb.cn/news/show-3825113.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

创建并连接oracle的PDB

1.进入阿里云服务器 su - oracle 2.以dba身份进入oracle sqlplus / as sysdba 3.查看CDB和PDB SQL> show con_name pdbs;CON_NAME ------------------------------ CDB$ROOTCON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ----…...

python中的异常处理

异常...

listview和LitePal2

Student stu LitePal.find(Student.class, model.getId()); //类名&#xff0c;查找id 修改&#xff1a; //先查询到数据,然后更改数据, Student stu LitePal.find(Student.class, 1); stu.setUsername(“admin”); stu.save(); //更新指定id的数据 Student stu new …...

Python实现NBA文字直播间

上班想看比赛&#xff1f;害怕被老大发现&#xff1f;心痒痒&#xff1f;Python写一个NBA文字直播间&#xff0c;上班放心摸鱼看比赛。该文字直播间的实现原理其实就是爬虫&#xff0c;期间需要通过抓包分析某网站的文字直播请求过程&#xff0c;把每个请求过程用爬虫来实现。不…...

安装依赖时报错:npm ERR! code ERESOLVE npm ERR! ERESOLVE could not resolve npm ERR! npm ERR! While resolving

F:\study\heima\vueCode\demo3>npm i axios -S npm ERR! code ERESOLVE npm ERR! ERESOLVE could not resolve npm ERR! npm ERR! While resolving: vue/eslint-config-standard6.1.0 npm ERR! Found: eslint-plugin-vue8.7.1 npm ERR! node_modules/eslint-plugin-vue npm...

app支付宝验证登录

支付宝开发平台 上图是官方提供的支付宝授权登录流程&#xff0c;具体看一下&#xff1a; 在小程序端获取 auth_code&#xff0c;目的是获取用户授权码 把第一步获取的授权码 auth_code 传到咱们自己的后台&#xff0c;也就是说后台需要编写一个接口&#xff0c;方便小程序端…...

JS对象方法总结练习(持续更新)

基本功要扎实&#xff0c;且适时的使用方法能极大提升代码简洁度与效率 如何根据不同情况选择更合适的方法&#xff1f;(对方法有自己的分类) 创建&#xff1a; 值以键值对的方式来书写&#xff0c;冒号分隔。 JavaScript 对象是被命名值的容器。 JS 1.JS对象表示类的实例 2…...

Retrofit-OkHttp 动态切换服务器地址

需求&#xff1a; 一个app可能需要根据地区、用户等&#xff0c;动态设置不同的服务器地址&#xff0c;而okhttp为单例模式&#xff0c;不支持动态切换 方案&#xff1a; 利用okhttp的拦截器功能&#xff0c;实现该需求 1、利用headers参数&#xff0c;设置fixed标记的为地…...

解决unix:///var/run/supervisor/supervisor.sock no such file问题

使用环境 centos 7 supervisor 3.4.0 原因 使用过程中可能是因为机器宕机&#xff0c;导致supervisor没有正常关掉&#xff0c;导致/var/run目录下supervisor.sock文件被删除&#xff0c;找不到所以失败报错unix:///var/run/supervisor/supervisor.sock no such file 解决 …...

大数据技术原理与应用(一)

一、Hadoop入门 1.1大数据技术介绍 大数据技术生态体系&#xff1a; Hadoop 元老级分布式海量数据存储、处理技术系统&#xff0c;擅长离线数据分析 Hbase 基于hadoop的分布式海量数据库&#xff0c;离线分析和在线业务通吃 Hive sql 基于hadoop的数据仓库工具&#xff0c;使…...

Python学会使用虚拟环境——pipenv

一. 为什么要使用虚拟环境 在虚拟环境中安装和卸载库不会影响全局库便于使用特定版本的库&#xff0c;不同项目可以使用不同版本的库&#xff0c;不会相互干扰其它人根据虚拟环境文件可以很方便的搭建与开发者相同的环境 二.为什么选择pipenv 简单&#xff0c;方便。 三.安…...

android Livedata最详尽的使用场景分析,让你爱上Livedata

关注我的公众号 “安安安安卓” 免费学知识 很大一部分文字内容描述是直接翻译官网的 Livedata 概览 LiveData 是一种可观察的数据存储器类。与常规的可观察类不同&#xff0c;LiveData 具有生命周期感知能力 如果观察者&#xff08;由 Observer 类表示&#xff09;的生命周…...

阿里云高效计划教程

一.实际操作 创建资源 创建资源 在页面左侧&#xff0c;单击 云产品资源 下拉列表&#xff0c;查看本次实验所需资源。 单击屏幕右侧 创建资源 &#xff0c;免费创建当前实验所需云产品资源。 说明&#xff1a; 资源创建过程需要1~3分钟。完成实验资源的创建后&#xff0c;您…...

[附源码]计算机毕业设计springboot校园服装租赁系统

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…...

920_AUTOSAR_TPS_SoftwareComponentTemplate25_E2E端对端保护2

全部学习汇总&#xff1a; https://github.com/GreyZhang/hack_autosar 继续学习AUTOSAR&#xff0c;看一下官方文档。 根据 [19]&#xff0c;以下约束适用于 EndToEndProtection 的属性&#xff08;请注意&#xff0c;附加 M1 约束适用于 [19] 中所述&#xff09;&#xff1a;…...

2021年大数据ELK(二十一):Logstash简介和安装

全网最详细的大数据ELK文章系列&#xff0c;强烈建议收藏加关注&#xff01; 新文章都已经列出历史文章目录&#xff0c;帮助大家回顾前面的知识重点。 目录 Logstash简介和安装 一、简介 1、经典架构 2、对比Flume 3、对比FileBeat 二、安装Logstash 1、切换到lanson用…...

如何提高炼丹速度?

1.并发程序——善用multiprocessing 原因&#xff1a;对一百万张照片进行预处理/进行分析/进行裁切&#xff0c;可以利用并发进行加速 Ps:因为python内部解释器PID锁的原因&#xff0c;因此多线程在python当中并不可以得到加速 也可以采用异步等写出非常复杂的逻辑&#xff0…...

ping测试本地局域网

for i in seq 1 252 doping -c 1 192.168.111.$i >/dev/nullif [ $? -eq 0 ]thenecho "192.168.111.$i成功"elseecho "192.168.111.$i失败" >>/root/ab.shfi done...

把你的 Mac 从 Catalina 降级回 Mojave 系统的避坑指南

三种恢复系统的快捷键&#xff1a;https://support.apple.com/zh-cn/HT204904​ Mojave系统的下载地址&#xff1a;https://support.apple.com/zh-cn/HT204904​ 终端输入的代码&#xff1a;https://support.apple.com/zh-cn/HT201372 确定您的 Mac 使用的是哪个 macOS 版本…...

Thymeleaf 操作 2021.6.15

目录 什么是Thymeleaf 模板引擎介绍 Thymeleaf介绍 学习Thymeleaf必知的知识点 Springboot MVC介绍 动静分离 第一个Thymeleaf程序 创建程序&#xff0c;添加依赖 编写controller 编写Thymeleaf页面 启动程序 Thymeleaf语法详解 配置 常用标签 链接表达式: {…} 变量表达…...

Error:(18, 46) java: 程序包sun.reflect.generics.reflectiveObjects不存在 的解决方法

idea使用了自带的javac 11&#xff0c; 改成自己安装的java8&#xff0c;就好了...

方舟编译器

华为方舟编译器是华为公司专门为软件厂商研发的统一编程平台&#xff0c;包含编译器、工具链、运行时等关键部件。该编译器支持多种编程语言、多种芯片平台的联合编译与运行&#xff0c;能够有效解决安卓程序“边解释边执行”的低效率问题。 2019年8月31日&#xff0c;华为方舟…...

Ckeditor5完全开发指南教程(一)安装篇

Ckeditor5 自定义安装防出错实战教程&#xff08;一&#xff09;安装篇 本教程重点介绍自定义安装&#xff0c;需求不高的&#xff0c;可以下载官网集成版和自定义版&#xff08;在线生成online-builder&#xff09;。 网上很多教程拷贝来拷贝去&#xff0c;不是链接错&#…...

排序方法总结(稳定性和复杂度问题)

排序方法总结&#xff08;稳定性和复杂度问题&#xff09; 文章目录排序方法总结&#xff08;稳定性和复杂度问题&#xff09;前言稳定性时间复杂度一、直接插入法排序二、折半插入法排序三、希尔排序四、选择排序五、锦标赛排序六、堆排序七、冒泡排序八、快速排序九、归并排序…...

爱了爱了!docker拉取镜像提示unspportedOS

一面 1.你觉得项目中用了MQ给你带了什么好处&#xff0c;设计初衷是什么?会带来什么缺点嘛? (项目针对性比较强&#xff0c;不细说) 2.在网页键入taobao.com&#xff0c;到返回一个页面&#xff0c;这期间都发生了什么? 3.你说到了session和cookie,这两者有什么区别&…...

[NPUCTF2020]EzRSA Writeup

[NPUCTF2020]EzRSA 题目描述 from gmpy2 import lcm , powmod , invert , gcd , mpz from Crypto.Util.number import getPrime from sympy import nextprime from random import randint p getPrime(1024) q getPrime(1024) n p * q gift lcm(p - 1 , q - 1) e 54722 f…...

Ajax(javaweb常用)

目录AjaxjavaScript 原生 Ajax 请求JQuery 的 Ajax 请求Ajax AJAX 即“Asynchronous Javascript And XML”&#xff08;异步 JavaScript 和 XML&#xff09;&#xff0c;是指一种创建交互式网页应用的 网页开发技术。 ajax 是一种浏览器异步发起请求。局部更新页面的技术 jav…...

idea如何实现修改代码即时生效

一、spring-boot-devtools 在pom中直接引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><optional>true</optional> </dependency> 设置以下两项&#xff0…...

python中可迭代对象是什么意思_python中可迭代对象是什么

python中可迭代对象是&#xff1a;存储了元素的一个容器对象&#xff0c;且容器中的元素可以通过“__iter__( )”方法或“__getitem__( )”方法访问。可迭代对象不能独立进行迭代&#xff0c;可通过“for…in”遍历来完成。Python中可迭代对象(Iterable)并不是指某种具体的数据…...

工业数据与数据采集应用如何在ARM+FPGA异核架构的米尔MYC-JX8MMA7核心板应用

随着通信与网络技术、互联网的发展&#xff0c;工业管理数据化、网络化、智能化已成大势所趋&#xff0c;利用工业物联网完成工业控制是智慧工厂中必不可少的一部分。传统的控制与数据采集系统&#xff0c;主机一旦需要同时与多个数据采集设备保持高速通信&#xff0c;并要承担…...

Wireshark实验《Wireshark的基本使用》

在介绍使用之前&#xff0c;先介绍一下安装及可能遇到问题 1.安装&#xff1a;软件下载路径&#xff1a;wireshark官网 选择相应的http://www.win10pcap.org/download/版本下载&#xff0c;然后一直Next就可以。 2.如果你是win10系统&#xff0c;那么使用中会遇到和我一样的问题…...

android 电话录音功能,Android实现电话录音功能

/*** Created by Easzz on 2015/12/6.*/public class RecorderService extendsService {private MediaRecorder recorder; //录音的一个实例OverridepublicIBinder onBind(Intent intent) {return null;}Overridepublic voidonCreate() {super.onCreate();//获得电话管理器Tele…...

算法:两个经纬度之间的距离

由于需要找以一个坐标点最近的一个气象站坐标&#xff0c;读取它对应的气象数据。 #region 两个经纬度之间的距离//地球半径&#xff0c;单位米private const double EARTH_RADIUS 6378137;/// <summary>/// 计算两点位置的距离&#xff0c;返回两点的距离&#xff0c;单…...

远程教育实施方案交流之(一)——课件制作与课程录制篇

笔者结合现阶段最新技术和项目开展的各种影响因素&#xff0c;并综合考虑远程教育项目实施的成本控制、可行性分析、生产效率、实施商业模式&#xff0c;实施效果等方面将远程教育项目实施方案分成&#xff0c;1、课件制作与课程录制方案篇&#xff1b;2、远程教育平台建设及采…...

CCF201812

这次的CCF没打&#xff0c;这次CCF第4题不是送分题么&#xff0c;裸的最小生成树的最大权边。 随手写了一下&#xff0c;晚上回来补一个&#xff0c;JAVA版的。 2018-12-1小明上学 问题描述 试题编号&#xff1a;201812-1试题名称&#xff1a;小明上学时间限制&#xff1a;…...

react和vue配置本地代理

在react中配置开发环境下的本地代理相对比较简单&#xff0c;直接在package.json文件中修改即可。 此处以本地服务器&#xff0c; 端口为5000为例 "proxy": "http://localhost:5000"在项目目录的src /下新建setupProxy.js文件&#xff0c;然后写入如下代码…...

天线知识点总结

天线:教材:马汉炎《天线原理》 克劳斯《天线》 后几章脉络可看章节习题&#xff0c;有很多梳理性问题 内容很简单&#xff0c;脉络很清晰。从电偶极子和次偶极子的辐射入手&#xff0c;后面所有的线天线都可看做电偶极子的阵列&#xff0c;方向图都可看做电偶极子方向图乘阵列…...

scala的特征

1.java和scala可以无缝链接&#xff0c;都运行在JVM上 2.类型推断&#xff0c;即可以自动推测类型&#xff0c;不用指定类型 3.并发和分布式&#xff08;Actor,类似Java中的多线程Thread) 4.特质trait,特征&#xff08;类似于java中的interfaces和abstract结合&#xff09; 5.模…...

Vue3+nodejs全栈项目(资金管理系统)——后端篇(二)用户模块

文章目录用户模块的增删改查新增创建user_info表初始化路由模块路由模块处理函数(添加&#xff09;测试查询路由模块处理函数(查询)测试编辑&#xff08;根据id&#xff09;路由模块处理函数&#xff08;编辑/更新&#xff09;测试删除(根据id&#xff09;路由模块处理函数测试…...

链表必刷题:快慢双指针,链表反转,找中点模版·····

234. 回文链表 很有代表性&#xff01;包含了链表遍历&#xff0c;快慢指针找中点模版&#xff0c;链表数据比对&#xff0c;链表反转&#xff01;非常具有代表性 class Solution {public boolean isPalindrome(ListNode head) {if(head null || head.next null) return true…...

Windows上同时配置GitHub,Gitlab,Gitee(码云)三种开发环境

Windows上同时配置GitHub&#xff0c;Gitlab&#xff0c;Gitee&#xff08;码云&#xff09;三种开发环境一、介绍1、Git2、GitHub的概念3、Gitlab的概念4、Gitee的概念二、安装Git环境1、下载2、安装3、验证三、配置1、单独配置①本地生成 ssh key②添加新的shh key2、同时配置…...

Java 实例-打印图形

Java 实例 – 打印菱形 输出指定行数的菱形。 package com.example.yan.java打印图形;public class Main {public static void main(String[] args) {print(8); // 输出 8 行的菱形}public static void print(int size) {if (size % 2 0) {size; // 计算菱形大小}for (int i…...

小米路由器3 保姆级救砖回忆录及实操技巧演示

写在救砖之前 路由器TTL救砖&#xff0c;好多网友反映看到信息&#xff0c;无法选择&#xff0c;眼睁睁的看启动菜单滚过去&#xff0c;一次又一次。 详细的视频教程我已经上传到西瓜、今日头条和哔哩哔哩。估计就这两个网站能接受几百兆的视频 视频地址如下&#xff1a; 就…...

知识点滴 - 如何写项目总结

项目结束了&#xff0c;要写项目总结&#xff08;Project Summary&#xff09;。或者在项目开发中&#xff0c;也需要写项目总结。 如果你使用PPT来写项目总结&#xff0c;那就要每一页PPT都要包含某类内容&#xff0c;可以设定个大纲来写。 在项目总结中&#xff0c;你可能需要…...

Linux下查找JDK默认安装路径

Linux下查找JDK默认安装路径 确认是否安装JDK java -version查找java命令的位置 which java[roota]# which java /usr/bin/javajava命令的位置所对于的软链地址 ls -l /usr/bin/java[roota]# ls -l /usr/bin/java lrwxrwxrwx 1 root root 22 Jun 18 15:45 /usr/bin/java -> …...

计算机人文英语1形考答案,国家开放大学电大《人文英语1》形考任务七试题及答案...

国家开放大学电大《人文英语1》形考任务七试题及答案 最新国家开放大学电大人文英语1形考任务七试题及答案一、选择填空题目1一Social Work Service Center一Hello, May I speak to Zhang Hua选择一项A. Can I help you 题目2一But actually, Im at work. So rather not wait. …...

三十三、《大数据项目实战之用户行为分析》Spark SQL读写MySQL

本例讲解使用Spark SQL的JDBC API读取MySQL数据库中的表数据,并将DataFrame中的数据写入MySQL表中。Spark集群仍然使用Standalone模式。 具体操作步骤如下: MySQL数据准备 在MySQL中新建一个用于测试的数据库spark_db,命令如下: mysql> create database spark_db; …...

用AudioSource播放声音

不需要在玩家身上添加AudioSource组件 资源管理类 using System.Collections; using System.Collections.Generic; using UnityEngine; //资源管理类 public class GameRes {//标签public const string player "Player";public const string dog "Dog"…...

SQL强化2

在企业开发中一般都会使用innodb引擎&#xff08;内部支持事务&#xff0c;行级锁。外键等特点&#xff09;&#xff0c;在MYSQL5.5版本之后默认引擎也是innodb。 show create table 列名; --查看引擎为innodb 在开发过程中常见的索引类型有&#xff1a; 主键索引&#xff1a…...

深度理解抽象类和接口

abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性&#xff0c;甚至可以相互替换&#xff0c;因此很多开发者在进行抽象类定义时对于abstract class和interface的选择显得比较随意。 其实&#xff0c;两者之间还是有很大的区别的&#xff0c;对于它们…...

有了这份PDF+1个插件算法刷题三件套,面试进阶双飞。助我斩获十个offer

众所周知&#xff0c;算法这两年在面试上已经是不可或缺的一项技能了&#xff0c;不论你是应届生还是在职人员&#xff0c;面试的时候掌握这项技能都会使你offer到手的概率更大一些&#xff0c;尤其是现在的BATZ大厂&#xff0c;可以说是不会算法根本就不去&#xff01;团长两年…...

centos8 设置网络

Net模式下连接外网配置 1桥接模式改为net模式 192.168.56.1 被虚拟网卡占用 小知识 2 vi /etc/sysconfig/network-scripts/ifcfg-ens33 修改配置 TYPEEthernet PROXY_METHODnone BROWSER_ONLYno BOOTPROTOdhcp DEFROUTEyes IPV4_FAILURE_FATALno IPV6INITyes IPV6_AUTOCONF…...

Numpy科学计算库基本使用方法

NumPy 是Python中科学计算的基础包。它是一个Python库&#xff0c;提供多维数组对象&#xff0c;各种派生对象&#xff08;如掩码数组和矩阵&#xff09;&#xff0c;以及用于数组快速操作的各种例程&#xff0c;包括数学&#xff0c;逻辑&#xff0c;形状操作&#xff0c;排序…...

设置QWidget为圆角矩形(同时设置背景图和圆角矩形)

在实际项目开发过程中有时需要设置QWidget中的背景图的同时还需要将其设置为圆角矩形样式。此时可以通过重绘事件完成两项工作。 1. 首先设置属性为无边框&#xff08;即使不设置为无边框&#xff0c;运行后同样为无边框&#xff0c;目前尚未得知其原理&#xff09; setWindo…...

linux中php的filemtime函数可能会因为大小写出错,filemtime区分大小写

linux中filemtime可能会因为大小写出错&#xff0c;filemtime区分大小写 在linux中php对filemtime的对大小写解释是不一样的 filemtime("/www/www.tt18.cn/") 和filemtime("/www/Www.tt18.cn/") 是不一样的 如果目录为"/www/www.tt18.cn/"&#…...

细分领域创新引领,云和恩墨被正式认定为国家级专精特新“小巨人”企业

日前&#xff0c;工业和信息化部开展了第四批专精特新“小巨人”企业培育的工作&#xff0c;现已完成审核&#xff0c;并通过北京市经济和信息化局官网予以公告。云和恩墨深耕数据库领域十余载&#xff0c;凭借过硬的数据库技术创新能力与优秀的数据库软件产品&#xff0c;成功…...

python的一些杂七杂八的使用

1、assert的用法&#xff0c;assert之后还可以输出信息 这里举个例子&#xff0c;我们可以这样写代码&#xff1a; assert os.path.exists(path_tools), "{}不存在&#xff0c;请将common_tools.py文件放到 {}".format(path_tools, os.path.dirname(path_tools))2、…...

Supervisor的简单使用

Supervisor简单来说是用Python开发的一套通用的进程管理程序&#xff0c;能够监控进程状态&#xff0c;当程序异常退出时能自动重启。Supervisor通过fork/exec的方式把被管理的进程当作其的子进程来启动&#xff0c;把要管理的进程的可执行文件的路径写进去即可。supervisor还提…...

表格输出(C语言程序设计)

本题要求编写程序&#xff0c;按照规定格式输出表格。 输入格式&#xff1a; 本题目没有输入。 输出格式&#xff1a; 要求严格按照给出的格式输出下列表格&#xff1a; ------------------------------------ Province Area(km2) Pop.(10K) ---------------------…...

Ubuntu18.04+ros+zed1跑orb_slam2个人问题总结

基本步骤参照各种博客&#xff0c;仅用于记录个人问题汇总 Q&#xff1a;ubuntu安装Pangolin编译报错&#xff0c;找不到Eigen3::eigen&#xff1b; A&#xff1a;Pangolin版本与Eigen3不匹配&#xff0c;官网直接下载Pangolin版本为v0.6&#xff0c;进入github后切换为v0.5重…...

electron +vue自定义点击最大化、最小化和关闭窗口事件功能

首先简单的理解一下Electron的进程类型——渲染进程和主进程 主进程&#xff1a; Electron 运行 package.json 的 main 脚本的进程。 渲染进程: 在 web 页面运行的进程。 一个 Electron 应用有且只有一个主进程。 主进程中运行的脚本通过创建web页面来展示用户界面。 每个 Ele…...

基于Socket编程的远程控制PC音乐播放器App(一)

整个系统基于Socket编程&#xff0c;完成了Java和C/C的数据通信&#xff0c;服务器端使用select模型&#xff0c;实现多路复用&#xff0c;客户端将Socket相关操作封装为线程类&#xff0c;便于调用。 源码地址&#xff1a;https://github.com/yeaper/android_sample/tree/mast…...

2019 8 9 STM32F407ADS1526连续转换模式相关配置(采样率达到15000SPS)

没有试30000sps 采样率低可能还不能用&#xff0c;需要改变SPI速率等 使用ADS1256DRDY引脚作中断触发进行数据采集 main.c中&#xff08;死循环前只执行一次&#xff09;&#xff1a; 1 if (state)2 {3 ADS1256WREG(ADS1256_MUX,(0 << 4) | …...

ADS1255/6 使用

专业词汇&#xff1a; Single-Ended Input&#xff08;单端&#xff09;&#xff1a; Fully-Differential Input(差分)&#xff1a; Pseudo-Differential Input(伪差分)&#xff1a; Zeff&#xff1a;Effective Impedance 有效阻抗 PGA&#xff1a;programmable gain …...

ADS1256芯片的驱动C程序

#include "math.h" #include <ads1242.h> #include "stm32f10x_lib.h" /*Registers Address*/ #define REG_STATUS 0 #define REG_MUX 1 #define REG_ADCON 2 #define REG_DRATE 3 #define REG_IO 4 #define REG_OFC0 5 #define...

智慧工地技术方案

二、 系统概述 建筑工地是一个安全事故多发的场所。目前&#xff0c;工程建设规模不断扩大&#xff0c;工艺流程纷繁复杂&#xff0c;如何完善现场施工现场管理&#xff0c;控制事故发生频率&#xff0c;保障文明施工一直是施工企业、政府管理部门关注的焦点。尤其随着社会的…...

Linux,WWW服务器配置

WWW服务器配置 理论 WWW服务又称Web服务&#xff0c;客户机和服务器都遵循HTTP协议&#xff0c;默认采用80端口通信。配置 软件名称为Apache&#xff0c;守护进程(服务名)为httpd。 RHEL Server 5默认不安装Apache软件包&#xff0c;需要手工安装。 安装启动简单测试 安装yu…...

Redis 服务器常用配置参数

恰当地设定 Redis 服务器参数&#xff0c;才能保证服务器正确、高性能、安全地运转。通过这些参数&#xff0c;我们还能了解 Redis 服务器内部运转的机制和细节。同时&#xff0c;主从复制和 Redis 集群的部署也要掌握相关配置项。 作者&#xff1a;王克锋 出处&#xff1a;h…...

服务器导购:选购服务器应看哪些配置参数

我们在做网站时&#xff0c;如果需要选购服务器&#xff0c;如何才能选择到最佳性价比的服务器呢&#xff1f;选购服务器时应考察的主要配置参数。 CPU和内存CPU的类型、主频和数量在相当程度上决定着服务器的性能&#xff1b;服务器应采用专用的ECC校验内存&#xff0c;并且应…...

dayz自定义服务器,DayZ服务器基本配置参数修改教程

hostname "xiongtianqi.cn Qqun:84402345"; // Server namepassword ""; // Password to connect to the serverpasswordAdmin "625721762"; // Password to become a server adminmaxPlayers 60; // Max...

clickhouse配置项config.xml详解——服务器配置参数

调研学习clickhouse&#xff0c;上一章介绍了clickhouse的配置项users.xml&#xff0c;这一章介绍另一大项config.xml 从clickhouse的官网看&#xff0c;clickhouse的配置参数主要分了两大方面&#xff0c;一个是config.xml中的服务器配置参数&#xff08;Server Settings&…...

Springboot Web应用中服务器配置参数ServerProperties的加载

#概述 Springboot配置文件中以server开头的项表示服务器的配置参数&#xff0c;这一点从字面意义即可直观理解&#xff0c;这些参数&#xff0c;包括端口&#xff0c;路径设置&#xff0c;SSL配置参数等等。具体有哪些参数&#xff0c;从源代码的角度上&#xff0c;可以参考类…...

Apache服务器配置参数的全面说明(所有参数)

Apache的主配置文件&#xff1a;/etc/httpd/conf/httpd.conf 默认站点主目录&#xff1a;/var/www/html/ Apache服务器的配置信息全部存储在主配置文件/etc/httpd/conf/httpd.conf中&#xff0c;这个文件中的内容非常多&#xff0c;用wc命令统计一共有1009行&#xff0c;其中…...

MySQL性能优化之参数配置

MySQL性能优化之参数配置 1、目的&#xff1a; 通过根据服务器目前状况&#xff0c;修改Mysql的系统参数&#xff0c;达到合理利用服务器现有资源&#xff0c;最大合理的提高MySQL性能。 2、服务器参数&#xff1a; 32G内存、4个CPU,每个CPU 8核。 3、MySQL目前安装状况。 M…...

买服务器需要看哪些参数,如何看服务器配置

一般来说&#xff0c;服务器的性能主要由三个部分决定。 1 .服务器硬件配置 2 .服务器操作系统 3.APP应用 服务器硬件配置主要有&#xff1a; (1).CPU 一般来说&#xff0c;CPU数量越多、时钟速度越高&#xff0c;服务器的性能也就越好。 在实际测试中&#xff0c;如果持…...

三国志战略版:乱世杀神_平民利器_超级群雄藤甲盾

一、前言 这个阵容来自一位朋友分享的盟友图&#xff0c;非常的厉害&#xff0c;所以大丹在这里也借图&#xff0c;为各位推荐一波。最舒适的地方&#xff0c;在于这队并不需要多么难搞的武将&#xff0c;所需战法也比较常见。 连战18场&#xff0c;战功5万&#xff0c;让很多一…...

乱世キング|三国志シミュレーション

ダウンロード不要のお手軽で楽しい無料オンラインゲーム「乱世キング」&#xff01;RRゲームはエキサイティング&#xff06;クリエイティブなベストゲームの創造を追求します。登録はこちら ▼ 基本プレイ無料≫ ゲーム概要「乱世キング」は三国時代を背景にした、新たな歴史シ…...

戏说三国战纪

对于所有玩过街机的朋友来说&#xff0c;《三国战纪》这款游戏可谓是不属于拳皇的经典。几乎每家街机游戏厅里都会有这台机器&#xff0c;而且肯定已经被人占满。 三国战纪1 三国战纪1发行于1999年。开发商为台湾湾鈊象电子公司。游戏可由四人对战。由于游戏中加入了武器捡拾。…...

三国志战略版:Daniel_张角分析

一、武将生平 张角&#xff08;&#xff1f;&#xff0d;184年&#xff09;&#xff0c;历史上是中国东汉末年农民起义军“黄巾军”的领袖&#xff0c;太平道的创始人。东汉末年&#xff0c;张角以“苍天已死&#xff0c;黄天当立&#xff0c;岁在甲子&#xff0c;天下大吉”为…...

计算机太极阵怎么做,火锅三国电脑版

《火锅三国》这款游戏是一款三国背景的回合制策略游戏&#xff0c;游戏中翻阅了《三国志》、《后汉书》、《资治通鉴》、《献帝春秋》等诸多史料&#xff0c;并整理出了八十多万字的资料做为这款游戏设计的参考。游戏玩法《火锅三国》是一款拥有回合制策略元素&#xff0c;融合…...

乱世群雄,V5七师---“first blood”

风起云涌&#xff0c;伴随着 2012 世界“末日”的进程&#xff0c;我们兄弟连第四十三战区已经开始了序幕 …. … 看过了古有刘备、孙权、曹操的三国鼎立&#xff0c;今有腾讯、三六零的桌面大战&#xff0c;我们兄弟连的四十三区战场已经拉开了序幕&#xff0c;而首要的一战就…...

三国杀神话再临java版,神话再临 雷包10将 各版技能+台词 《三国杀》武将资料收录...

原标题&#xff1a;神话再临 雷包10将 各版技能&#xff0b;台词 《三国杀》武将资料收录《三国杀》神话再临 动如雷震 雷扩展包本文梗概收录了2018年发行的《三国杀》神话再临 动如雷震包含有&#xff1a;(神将&#xff1a;神张辽版 神甘宁)(魏国&#xff1a;郝昭版毌丘俭)(蜀…...

《乱世三国挂机游戏》隐私政策

三国群雄传挂机版尊重和保护利用用户的隐私所有的服务。为了向您提供更准确&#xff0c;更人性化的服务&#xff0c;将三国群雄传挂机版使用和披露按照本隐私政策您的个人信息。但是三国群雄传挂机版将是一个高度的勤勉&#xff0c;审慎义务对待这些信息。除本隐私政策另有规定…...

XMind之乱世三国

《三国演义》作为我国四大名著之一&#xff0c;备受大众喜爱。关羽成了历史中忠义与勇武的化身&#xff0c;诸葛亮成为了智慧的化身&#xff0c;为我们留下无数栩栩如生的历史人物形象。 《三国演义》描写了从东汉末年到西晋初年之间近百年的历史风云&#xff0c;以描写战争为主…...

用python画出四个不同颜色的同心圆

from turtle import * pensize(5) color(“red”) circle(50) penup() goto(0,-20) pendown() color(“blue”) circle(70) penup() goto(0,-40) pendown() color(“purple”) circle(90) penup() goto(0,-60) pendown() color(“yellow”) circle(110)...

HTML和CSS制作跳动的心

首先做两个圆&#xff0c;给两个圆添加定位使一部分重叠其形成如下形状。 在做一个正方形&#xff0c;给它做旋转和定位&#xff0c;与上面两个圆组合成如下形状。 最后给这个心添加动画就可以了。 具体代码如下&#xff1a; <!DOCTYPE html> <html lang"zh&quo…...

python画同心圆程序_python turtle画4个同心圆方法!

在python中如何使用循环结构画四个相切的圆 from turtle import * r20 x,y0,0 for i in range(4): if i2: penup() goto(x,2*r) penup() forward(2*r) pendown() circle(r) 怎样用Python画圆? 用turtle库&#xff0c;里面就有画圆的函数 python turtle画4个同心圆方法 from tu…...

matlab画心形线

matlab画心形线 clear ; close all; clc h1figure(name,爱的表达); axis([-1.5 1.5 -2 0.5]); axis off; set(gcf,color,black); n4; a320; m10^(-a); h11line(NaN,NaN,marker,.,linesty,-,erasemode,none,color,g); x1[]; y1[]; for thetapi/2:-2*pi/999:-3*pi/2r11cos(theta…...

python同心圆怎么运行_怎么用python画同心圆

用turtle函数画空心圆turtle.circle是从下方开始画圆的&#xff0c;所以要画同心圆的话&#xff0c;每一次都要将画笔移动到下一个圆的底部位置。画笔的坐标默认在0,0&#xff0c;就以它为圆心。因为turtle画圆的时候是从圆的底部开始画的&#xff0c;所以需要找到四个圆底部的…...

HTML画出心形

心形一 <!DOCTYPE html> <html><head><meta charset"utf-8" /><title></title><style type"text/css">#MyCanvas {border: 1px solid lightblue;}</style><script type"text/javascript">…...

【观察】软通动力:以数智化技术创新,赋能每一个降碳场景

毫无疑问&#xff0c;“碳达峰、碳中和”已成为当今世界最为紧迫的使命&#xff0c;目前全球已有110多个国家相继承诺“碳中和”目标。同样&#xff0c;2020年9月&#xff0c;中国也提出了到2030年实现“碳达峰”&#xff0c;并努力争取2060年前实现“碳中和”的“双碳”目标&a…...

Opengl画心形

可与我的之前写的相对应 主函数中调用&#xff1a; glutDisplayFunc(display21); 函数详情&#xff1a; 实际上通过画点函数进行绘制的 void display21(void) {//int i;int X 50,Y 50;int R 40;double x,y;double x1,y1,y2;double PI 3.1415926;glClear(GL_COLOR_BUFF…...

html动态心,html: 用CSS画一个会动的爱心

前言今天分享一个HTML动画的小技巧&#xff0c;完全用CSS来画一个会动的爱心。动画效用的就是CSS的animation属性&#xff0c;但是爱心图案并不是图片&#xff0c;而是用CSS拼出来的&#xff0c;这个小技巧还是有令人眼前一亮的感觉。废话不多说&#xff0c;直接来看看如何实现…...

android 飘心动画(直播点赞)效果(二)---贝塞尔曲线的实现

上篇文章 android 飘心动画(直播点赞)效果 只有代码&#xff0c;没有相关的说明。因为我自己也没有看懂&#xff0c;所以参照网上另一篇关于贝塞尔曲线实现 飘心动画的效果&#xff0c;目的就是 便于理解上篇文章代码的思路&#xff0c;然后写个关于飘心动画的自己的理解。 下…...

MATLAB画心形立体图

代码如下 >> [x,y,z]meshgrid(linspace(-3,3,120)); f(x.^2(9*y.^2)./4z.^2-1).^3-((9*y.^2).*(z.^3))./80-(x.^2).*(z.^3); ppatch(isosurface(x,y,z,f,0)); set(p,FaceColor,r) grid on daspect([1 1 1]) view(3) camlight(right) camlight(left) camlight(hea…...

android 飘心动画(直播点赞)效果

前段时间在写直播的时候&#xff0c;需要观众在看直播的时候点赞的效果&#xff0c;在此参照了腾讯大神写的点赞&#xff08;飘心动画效果&#xff09;。下面是效果图&#xff1a; 1.自定义飘心动画的属性 在attrs.xml 中增加自定义的属性 <!-- 飘心动画自定义的属性 --&g…...

用java画爱心图_Java画心形线

画出心形线&#xff0c;同时在左上角显示步长值和画图所用时间import java.awt.*;import java.awt.event.*;import java.awt.image.*;import java.util.Random;import java.math.BigDecimal;import static java.lang.Math.*;public class Test{long start System.currentTimeM…...

计算机硬件优势与不足,一体机电脑优缺点

2电脑一体机哪种好推荐1、苹果iMac MD093CH/AiMac是一款经过精雕细琢的一体式电脑&#xff0c;它的边缘仅薄至5mm&#xff0c;体积与前代产品相比减少达40%之多;摩擦搅拌焊接工艺打造的铝制机身实现无缝、精密且强度超高;屏幕采用全贴合工艺制造&#xff0c;在保证显示效果的前…...

VSCode 代码没有颜色/颜色为白色

1.页面最下方&#xff0c;点击纯文本 2.出现下拉框可以选择&#xff0c;如&#xff1a;选择html 3.就有颜色啦~~~...

【Hbuilder更改代码注释颜色】

一、打开文件位置&#xff0c;再打开plugins 二、打开theme default 三、再点开themes&#xff0c;再点击自己对应版本的json文件 四、打开对应的json文件后&#xff0c;按crtlF&#xff0c;搜索comment(注释)&#xff0c;然后选一个自己喜欢的颜色替换掉原来的就可以了...

html如何让页面变白,html如何设置文字颜色白色

html设置文字颜色白色的方法&#xff1a;1、通过外部CSS样式来设置&#xff1b;2、通过内部CSS样式来设置&#xff0c;代码为【style"color:white;font-size:25px】&#xff1b;3、通过font标签来设置。本教程操作环境&#xff1a;windows7系统、html5版&#xff0c;DELL …...

java计算机毕业设计基于springboot电商项目(附源码讲解)

目录 1. 用户端 1.1 主页&#xff08;未登录时可以查看商品但是不可以购买&#xff09; 1.2 登录&#xff08;账号密码登录) 1.3 登录&#xff08;手机验证码登录&#xff09; 1.4 注册 1.5 查看商品详情 1.6 将商品加入购物车 1.7 在商品购物车中选中商品购买 1.8 …...

如何区别国产CAN芯片和进口CAN芯片的性能(上)

如何区别国产CAN芯片和进口CAN芯片的性能&#xff08;上&#xff09; 现在国产芯片百花齐放&#xff0c;但是性能参数如何&#xff0c;怎么来测出它们的性能优劣呢&#xff1f;下面的小实验来解答&#xff0c; 现在以国产 广州金升阳 SCM3421ASA芯片和NXP的 TJA1051 两款作性 …...

PennCNV:利用SNP芯片检测CNV

欢迎关注”生信修炼手册”!通过SNP芯片来检测CNV&#xff0c;对应的分析软件有很多&#xff0c;PennCNV就是其中之一&#xff0c;该软件通过隐马可夫模型来检测CNV, 官网如下http://penncnv.openbioinformatics.org/en/latest/数据分析的pipeline示意如下首先我们需要准备signa…...

硬件工程师必须知道的芯片测试知识

更多的硬件和嵌入式开发知识请关注微信公众号&#xff1a;技术专家&#xff0c;每日更新最专业的开发知识&#xff0c;或者添加微信号&#xff1a;Shadan1232222 进技术交流群与资深工程师一起学习进步&#xff01; 作为硬件工程师&#xff0c;在开发前期需要对芯片的选型进行…...

欧盟统计局:2020年7%的欧盟企业使用人工智能应用

2020年&#xff0c;7%的欧盟企业&#xff08;至少有10名员工&#xff09;使用人工智能应用程序。2%的企业在内部使用机器学习分析大数据&#xff0c;1%的企业在内部借助自然语言处理、自然语言生成或语音识别分析大数据。2%的企业使用聊天服务&#xff0c;聊天机器人或虚拟代理…...

哪些人工智能企业有内部人才培养项目?

哪些人工智能企业有内部人才培养项目&#xff1f; 哪些人工智能企业可以到内部学习&#xff1f; 哪些人工智能企业针对社会有人工智能人才培养计划&#xff1f; 病毒还在不断蔓延&#xff0c;疫情当前&#xff0c;加强防疫&#xff0c;国难当头&#xff0c;全国上下发动各方力…...

使用AWS-AppSync实时监控物联网设备iOS端

aws-appsync-iot-core-实时iOS端示例 第一步参考如下资料 第一步找资料 网址&#xff1a; https://aws.amazon.com/cn/blogs/mobile/iot-with-aws-appsync/ iOS的sdk是 &#xff1a; https://github.com/aws-amplify/aws-sdk-ios android的sdk是&#xff1a; https://gith…...

java咖啡机 加入清洗剂_如何给咖啡机除垢

展开全部1.清洗咖啡渣盛接盒时&#xff0c;必须62616964757a686964616fe58685e5aeb931333337626230先倒空。2.水箱需要定期清洗3.滴水盛接盘配有水位指示浮标为红色&#xff0c;可显示出滴水盘内部储水情况&#xff0c;当该水位指示浮标浮起明显可见时&#xff0c;如需要可用针…...

机器人煮面机创始人_日本餐厅引进煮面机器人:一小时能煮40碗面的“匠人”?...

纵观日本历史&#xff0c;“工匠精神”称得上响当当。木工、陶艺、茶道、乐理、厨师等等&#xff0c;这些看似平凡的行业因为匠人精神的灌注而名扬天下&#xff0c;在很多人心里&#xff0c;日本似乎就是一个全员凡事亲力亲为的“匠人”国度。哪怕一碗面&#xff0c;可能都代表…...

如何在SPM®5封装上安装散热器

运动SPM产品5多种额定功率从10 W至100 W&#xff0c;并有针对性的应用&#xff0c;如小功率电机驱动器包括小功率风机电机&#xff0c;洗碗机和循环泵。这些产品包括自举二极管、欠压锁定(UVLO)的高压保护功能和热感应功能。运动5 SPM产品具有较低的待机电流&#xff0c;这是理…...

docker的安装和虚拟机

Docker的安装和操作&#xff08;虚拟机linux系统&#xff09; 1、简介 Docker是一个开源的应用容器引擎&#xff1b;是一个轻量级容器技术&#xff1b; Docker支持将软件编译成一个镜像&#xff1b;然后在镜像中各种软件做好配置&#xff0c;将镜像发布出去&#xff0c;其他…...

修改服务器远程登录密码的步骤

要修改远程登录密码&#xff0c;可以直接进去服务器里面修改&#xff0c;要是安装了服务器安全狗之类的软件&#xff0c;要先关停&#xff0c;然后&#xff1a; 1.鼠标右键我的电脑》管理》配置》本地用户和组》用户&#xff1a; 2.然后右键点击Administrator》修改密码&#…...

服务器怎么远程连接

1、在电脑桌面上&#xff0c;鼠标单击【bai开始】du&#xff0c;移动到【所有程序上】 2、鼠zhi标拖动滚动条&#xff0c;找到dao【附件】&#xff0c;在附件的文件夹下继续找到程序【远程桌面连接】&#xff0c;经常使用的可以右键发送到桌面快捷方式&#xff0c;方便以后使用…...

图解戴尔iDRAC服务器远程控制设置

1 对于远程的服务器&#xff0c;我们不能经常性的去机房维护&#xff0c;所以远程控制对于服务器来说就显得至关重要。那么你是用什么方式对服务器进行远程控制呢&#xff1f;远程桌面&#xff1f;还是KVM切换器&#xff1f;NO&#xff0c;你OUT了!如果你用的是戴尔的服务器&am…...

PMP每日一练 | 考试不迷路-12.3(包含敏捷+多选)

被延期考试的宝子 一定要坚持刷题 每日5道PMP习题助大家上岸PMP&#xff01; ​题目1-2&#xff1a; ​1.项目经理正在使用混合方法来遵守监管要求。计划和收尾阶段将使用预测方法&#xff0c;执行阶段将使用迭代方法。在第二次迭代评审期间&#xff0c;项目发起人要求更改…...

Android判断屏幕锁屏状态

package com.demoimport android.app.KeyguardManager import android.content.Context import android.os.* import android.util.Log import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.widget.AppCompatButton import java.lang.ref.WeakReferen...

ubuntu防止看电影时屏幕锁屏

ubuntu防止看电影时屏幕锁屏 转载https://blog.ghostry.cn/technique/627.html sudo add-apt-repository ppa:caffeine-developers/ppa sudo apt-get update sudo apt-get install caffeine超酷的小程序. 安装后又两个程序可用. 一个是caffeine.当他运行的时候会自动看有没有…...

Windows sever 2019AD域怎么设置域内计算机屏幕锁屏时间

环景&#xff1a; windows sever 2019AD域&#xff08;ad域DNS管理器&#xff09; 域内客户端win 10 专业版 问题描述&#xff1a; 暂时离开计算机&#xff0c;但不想关机或者注销当前登录&#xff0c;内网安全为了防止未经授权的使用&#xff0c;将域内计算机下发统一锁定屏…...

android监测屏幕锁屏解屏

定义一个ScreenListener类&#xff0c;直接拷贝到程序中就可以用 package com.scapp; //监测屏幕状态的类 import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.…...

GitHub访问问题与FastGithub下载及使用(详细篇)

前言 &#x1f4dc; “ 作者 久绊A ” 专注记录自己所整理的Java、web、sql等&#xff0c;IT技术干货、学习经验、面试资料、刷题记录&#xff0c;以及遇到的问题和解决方案&#xff0c;记录自己成长的点滴 目录 前言 FastGithub的介绍 FastGithub的下载 FastGithub的安装及…...

ETCD单节点故障应急恢复

系列文章目录 ETCD容器化搭建集群 文章目录前言一、总体恢复流程二、详细恢复指导2.1 环境信息2.2 集群删除异常节点2.2 删除异常节点数据2.3 集群重新添加节点2.4 启动节点2.4 等待集群数据完成同步并恢复总结前言 生产环境中&#xff0c;经常遇到etcd集群出现单节点故障或者…...

ETCD容器化搭建集群

系列文章目录 历史文章1 文章目录前言一、环境信息二、搭建步骤1.准备前置条件1.1 安装Docker1.2 拉取镜像2.安装Etcd2.1 新建目录2.2 编辑脚本2.3 执行部署三、结果验证在这里插入图片描述总结参考前言 本文介绍使用docker搭建一个etcd集群&#xff0c;附带对应的搭建脚本。…...

Es常用操作和经典case整理

文章目录1 集群操作1.1 获取集群状态1.2 获取异常的索引2 索引操作2.1 查看索引&#xff0c;查看状态为yellow2.2 查看索引&#xff0c;按照索引名称排序2.3 查看索引&#xff0c;按照文档数量排序2.4 查看索引&#xff0c;按照存储大小排序2.5 查看索引&#xff0c;按照内存大…...

ETCD集群故障应急恢复-本地数据可用

系列文章目录 文章目录前言一、总体恢复流程二、集群故障恢复2.1 环境信息2.2 启动第一个节点2.2 添加第二个节点2.3 添加第三个节点2.4 调整第1个节点的启动参数总结前言 如果整个etcd集群的所有节点宕机&#xff0c;并且通过常规节点重启&#xff0c;无法完成选主&#xff0…...

ETCD集群故障应急恢复-从snapshot恢复

系列文章目录 文章目录前言一、总体恢复流程二、集群故障恢复2.1 环境信息2.2 选择一个节点恢复备份数据2.2 添加第二个节点2.3 添加第三个节点2.4 调整第1个节点的启动参数总结前言 如果整个etcd集群的所有节点宕机&#xff0c;并且通过常规节点重启&#xff0c;无法完成选主…...

Linux时间延迟平滑对时方案的分析-Ntp和Chrony的不同表现

系列文章目录 文章目录系列文章目录前言一、环境信息二、ntpd模式2.1 版本信息2.2 配置ntpd对时源2.2.1 配置ntpd服务配置&#xff0c;启动ntpd服务2.3.2 查看对时情况2.3 配置ntpd客户端2.3.1 配置ntpd服务配置&#xff0c;启动ntpd服务2.3.2 查看对时情况2.4 关键场景2.4.1 场…...

ntp的server的上游跳变对ntp的server及client的影响

文章目录1.NTPSERVER 带-X参数1.1.客户端1.2.服务端1.3.跳变1.3.1.服务端1.3.2.客户端1.3.3总结2.NTPSERVER 不带-X参数2.1.客户端2.2.服务端2.3.跳变2.3.1服务端2.3.2.客户端2.3.3.总结3.总结探讨ntp不同参数针对ntp跳变时的时间反应。 1.NTPSERVER 带-X参数 1.1.客户端 正…...

君子九思

君有九思&#xff1a;视思明&#xff0c;听思聪&#xff0c;色思温&#xff0c;貌思恭&#xff0c;言思忠&#xff0c;事思敬&#xff0c;疑思问&#xff0c;忿思难&#xff0c;见得思义。 君子有九件事要反省&#xff1a;看的时候&#xff0c;要反省是否看清楚了&#xff1b;听…...

数字电路设计:Logicly 最新版Crack

Logicly有效地教授逻辑门 数字电路 — 使用 Logicly 现代直观的用户界面支持拖放、复制/粘贴、缩放等功能&#xff0c;可快速轻松地设计电路。 通过暂停模拟并在您逐步推进时观察信号传播来控制调试。 不用担心学生计算机上的多个平台。在 Windows 和 macOS 上安装 创建引人入…...

遇到问题--python--pandas--dataframe进行groupby之后导出数据to_excel内容为空

情况 dataframe需要使用groupby 进行数据统计处理 得到的df数据如下&#xff1a; 但是df导出数据to_excel内容为空 原因 dataframe使用groupby后是带着分组信息的&#xff0c;并不是dataframe平铺的格式&#xff0c;所以直接导出会有问题。 解决方案 把带有分组信息的gro…...

Pandas的merge和groupby用法

1.merge用来连接两个DataFrame对象&#xff0c;参数on选择基于哪个列进行连接&#xff0c;how选择内连接&#xff0c;左连接还是全连接的方式。merge操作类似于SQL中的join操作。[python] view plaincopyimport pandas as pd df1 pd.DataFrame({key:[b,b,a,c,a,b],data1:rang…...

数据库考点_11

GROUP BY 作用: 根据给定数据列的每个成员,对查询结果进行分组统计,关于这句话,有两个解释: 满足SELECT字句中的列名必须为分组列或者列函数. 也就是说: 要么是group by 中用到了列,要么就是带有max这类的列函数的列. 注意: 上面的条件只针对同一张表成立,如果用到了多张表,…...

Python property()函数:定义属性

我们一直在用“类对象.属性”的方式访问类中定义的属性&#xff0c;其实这种做法是欠妥的&#xff0c;因为它破坏了类的封装原则。正常情况下&#xff0c;类包含的属性应该是隐藏的&#xff0c;只允许通过类提供的方法来间接实现对类属性的访问和操作。因此&#xff0c;在不破坏…...

rails 与 sql goup_by

rails Sku.joins(:site_skus).where("site_skus.site_id": [11,12,13]).group("skus.id") sql SELECT "skus".* FROM "skus" INNER JOIN "site_skus" ON "site_skus"."sku_id" "skus"....

Markdown特殊字符转义

Markdown特殊字符转义 如需转载请标明出处&#xff1a;http://blog.csdn.net/itas109 QQ技术交流群&#xff1a;129518033 目录 文章目录Markdown特殊字符转义[toc]前言1.反斜杠忽略Markdown格式(推荐)2.HTML 标签3.Html ASCII转义环境&#xff1a; Markdown 前言 Markdown …...

mysql特殊字段名称_Mysql必读MySQL创建带特殊字符的数据库名称方法示例

《MysqL必读MysqL创建带特殊字符的数据库名称方法示例》要点&#xff1a;本文介绍了MysqL必读MysqL创建带特殊字符的数据库名称方法示例&#xff0c;希望对您有用。如果有疑问&#xff0c;可以联系我们。文章抓哟讲解了关于如何实现在MysqL中创建带有特殊字符的数据库名称,这里…...

OpenShift 4 - 在单节点 OpenShift 上部署 ODF 存储软件

《OpenShift / RHEL / DevSecOps 汇总目录》 说明&#xff1a;本文已经在支持 OpenShift 4.12 的 OpenShift Local 环境中验证 文章目录什么是 ODF LVM &#xff1f;为 OpenShift Local 增加额外存储设备安装并配置 ODF LVM Operator使用 ODF 创建 PVC/PV 验证什么是 ODF LVM &…...

java 特殊字符处理

在一些系统中经常可能会用到Cookie&#xff0c;但是Cookie的值是不能有特殊字符的&#xff0c;我也是在进过这个坑之后才想起来解决这个问题。另外&#xff0c;在sql中如果插入特殊字符也可能会阻碍sql正常执行&#xff0c;所以特殊字符处理还是有必要的。下面开始贴代码。 【…...

java 过滤url特殊字符,java处理url中的特殊字符

java处理url中的特殊字符(如&,%...)URL(Uniform Resoure Locator&#xff0c;统一资源定位器)是Internet中对资源进行统一定位和管理的标志。一个完整的URL包括如下内容&#xff1a;1. 应用协议名称&#xff0c;包括http,ftp,file等标志2. 资源定位&#x…...

LaTeX的特殊字符

代码&#xff1a; \documentclass{article} \usepackage{ctex} %XeLaTeX标准的宏包 \usepackage{xltxtra} \usepackage{texnames} \usepackage{mflogo}\begin{document}\section{空白字符}% 英文多个空格&#xff0c;当作一个空格处理We always knew our daughter Kendall …...

特殊字符中英文对照 (标点符号的英文)

整理了一下标点符号的英文表示&#xff0c;主要是计算机常用的类型. 来源是wikipedia! apostrophe ( ’ ) brackets ( ( ) ), ( [ ] ), ( { } ), ( < > ) round brackets , open brackets or parentheses : ( ) square brackets , closed brackets or box bracket…...

详解 物理学四大神兽

详解物理学四大神兽视频!...

pandas学习-task2

1. loc方法、iloc方法、[]操作符 一般而言&#xff0c;最常用的索引方法就是这三类 iloc表示位置索引&#xff08;i表示index&#xff09; loc表示标签索引 []也具有很大的便利性 &#xff08;a&#xff09;loc方法 trick one: 所有在loc中使用的切片全部包含右端点的&#x…...

Pandas学习 - 索引

写在前面 今天这部分我们要学习一下索引的操作。申明一下这个不是我自己编写的噢&#xff0c;是参加了Datawhale的组队学习&#xff0c;其中的成员GYH大神编写的joyful-pandas&#xff0c;可以取github上找到内容&#xff01;&#xff08;PS发现大神是同校的小学弟哈哈哈&…...

BoltDB学习笔记

文章目录一、boltdb简介1、boltdb是什么2、为什么分析boltdb3、boltdb对比其它数据库4、boltdb的用法入门5、boltdb性能提升二、BoltDB的数据结构三、BoltDB中的B树和Bucket1、Bucket结构2、Cursor结构3、Node结构4、K/V操作四、BoltDB事务1、事务原理2、事务源码Tx结构体Begin…...

1 0.99999的悖论_物理学四大神兽:你能追上乌龟吗?无穷大到底是多大?(1)...

“ 无限之上是有限&#xff0c;有限之上是无限”想必大家都听说过古代的四大神兽&#xff0c;并且貌似它们都是正义的伙伴。但是&#xff0c;物理学的“四大神兽”相比而言就没有那么神圣感&#xff0c;也不那么为人所知。但是&#xff0c;如果让青龙白虎朱雀玄武和物理学“四大…...

物理学四大神兽,除了“薛定谔的猫”, 你还知道哪几个?

来源 &#xff1a; 逗逼的500T硬盘物理学是一门研究物质运动最一般规律和物质基本结构的学科。分为纯物理学和多学科物理学&#xff0c;其中的纯物理学又分为&#xff1a;1.经典力学&#xff1b;2.热力学和统计力学&#xff1b;3.电磁学&#xff1b;4.相对论&#xff1b;5.量子…...

网站建设-通过链接策略建立排名:

网站建设-通过链接策略建立排名&#xff1a; 网站建设只是您想要成功进行在线投资的开始。正如您在真正的实体世界中建立业务一样&#xff0c;在线建立您的利基需要卓越的技能&#xff0c;持续的监控和分析&#xff0c;以及不断调整以适应搜索引擎以及不断变化的趋势。网站建设…...

网站建设的七大好处及优势

中国互联网发展到现在已经20年了&#xff0c;网站大范围普及&#xff0c;早已不是刚开始那种单纯的讲一个简单的页面放到网上展示的形式了。所以我要讲的网站建设也不是单单的将一个网站建设出来就可。很多人都在做网站建设&#xff0c;同样的&#xff1a;一部分企业在做网站建…...

访问学者申请关于免签和返签

签证的免签就是拿着护照去另一个国家&#xff0c;不用签证。中国的公务护照和外交护照在许多国家享受免签待遇。而因私护照到目前为止&#xff0c;除了在个别国家享受转机免签(一般为不出机场或出机场但不超过72小时)外&#xff0c;还没有任何国家给予免签。知识人网老师介绍全…...

爱了爱了,这是什么神仙级Apache Dubbo实战资料,清晰!齐全!已跪!

都2026年了 还没有用过Dubbo&#xff1f; Dubbo是国内最出名的分布式服务框架&#xff0c;也是 Java 程序员必备的必会的框架之一。Dubbo 更是中高级面试过程中经常会问的技术&#xff0c;面试的时候是不是经常不能让面试官满意&#xff1f;无论你是否用过&#xff0c;你都必须…...

python exe程序注册为window系统服务

1、使用pyinstaller将py打包成exe 1、安装 pip install pyinstaller2、打包成exe可执行文件 pyinstaller -F packTest.py #packTest.py为待打包的py文件打包成功后会在同级目录中生成两个文件夹和一个文件&#xff0c;分别为dist和build文件夹&#xff0c;以及一份与.py文件同…...

二分网络上的链路预测实验 附完整代码

实验内容 采用二分网络模型,对 ml-1m 文件夹中的“用户---电影”打分数据进行建模,考虑将用户信息、电影详细信息、以及打分分值作为该网络上的边、点的权重;根据网络结构特征给出节点相似性度量指标;基于相似性在二分网络上进行链路预测;采用交叉验证的方法验证预测结果;…...

在字节跳动工作是怎样的?

链接&#xff1a;https://www.zhihu.com/question/28881353/answer/1912209855编辑&#xff1a;深度学习与计算机视觉声明&#xff1a;仅做学术分享&#xff0c;侵删作者&#xff1a;爱喝可乐的喵https://www.zhihu.com/question/28881353/answer/128694674工作久了之后&#x…...

在字节跳动工作是什么样的体验?

链接&#xff1a;https://www.zhihu.com/question/28881353/answer/1912209855编辑&#xff1a;深度学习与计算机视觉声明&#xff1a;仅做学术分享&#xff0c;侵删作者&#xff1a;爱喝可乐的喵https://www.zhihu.com/question/28881353/answer/128694674工作久了之后&#x…...

成功的必要条件,自我管理

无论在社会生活中&#xff0c;还是工作上&#xff0c;自我管理&#xff0c;都是一个特别重要而存在的因素。自我管理&#xff0c;指利用个人内在力量改变行为的策略&#xff0c;普遍运用在减少不良行为与增加好的行为的出现&#xff0c;也就是懂得自我约束和自律。 俗语曾言&a…...

MySQL详解(二)——基础 2.0

5. 完整性约束 完整性约束是为了表的数据的正确性&#xff01;如果数据不正确&#xff0c;那么一开始就不能添加到表中。 5.1 主键 当某一列添加了主键约束后&#xff0c;那么这一列的数据就不能重复出现。这样每行记录中其主键列的值就是这一行的唯一标识。例如学生的学号可…...

打印出一个数的每一位

打印出一个数的每一位 #include <iostream> using namespace std;int main( ) {int a 42;unsigned p 1;//此处注意&#xff0c;我定义为无符号int是为了在后面右移的时候使用逻辑右移&#xff0c;符号位保持0p p<<31;for(int i 0;i<32;i){if(p&a)cout&l…...

linux 函数中打印调用栈

一、内核中 To print the stack contents and a backtrace to the kernel log, use the #include <linux/kernel.h>dump_stack(); 二、应用 ref&#xff1a; linux device driver - How to include C backtrace in a kernel module code? - Stack Overflow linux内…...

c语言printf%%,c语言printf实现同一位置打印输出的实例分享

—-想了解c语言printf实现同一位置打印输出的实例分享的全部内容且更多的C语言教程关注控制台同一位置打印输出&#xff0c;例如&#xff1a;进度1%->100%在同一位置显示。刚学习c语言的时候一直想做起来&#xff0c;可惜查询好多资料不行。时隔6年多&#xff0c;空闲之余又…...

java 四边形_Java 实例 – 打印平行四边形

打印圆形:public class Circle{public static void main(String[] args) {circle(5); // 输出半径为5的圆}public static void circle(int r) {for (int y 0; y < 2 * r; y 2) {int x (int) Math.round(r - Math.sqrt(2 * r * y - y * y));int len 2 * (r - x);// 圆左的…...

linux eof打印列表,Linux:结合cat和EOF输出到文本文件

EOF&#xff1a;即“end of file”的简写Linux实践中&#xff0c;往往需要将shell脚本中的多行内容&#xff0c;输出到一个文本文件中。例如输出一段内容&#xff0c;作为一个新的脚本。举例如下&#xff1a;cat > test.sh <this is a testthis is another testthis is f…...

js动态加载table,打印table里的内容以及解决打印后的问题

<body><div><div style"text-align: center;margin: 10px">姓名&#xff1a;<input type"text" id"pt_search_name" name"pt_search_name" style"width: 150px;height: 30px;border: 1px;" placeholde…...

字集打印0.0

#include<iostream> #include<cstring> using namespace std; const int maxn 100; int Num[maxn]; int tmp[maxn]; void Subset_1(int n,int *A,int cur) { ///可以按照排列的类似写法撸出随意集合的字集0.0 for(int i 0; i < cur; i) cout << A[i] …...

寒假宅喵java学习

1.25 小fleeting 学习java 关于辅助书籍: Core Java 字典 比如学习完了IO的知识&#xff0c;觉得意犹未尽&#xff0c;那么就通过这本字典一样的Java书籍&#xff0c;把IO的知识更丰满的刷一遍 Effective Java 零食&#xff0c;提升代码质量 作为初学者&#xff0c;首要任务不…...

Arduino实例2——快乐肥宅机

最近发现了两个特别有趣的传感器&#xff0c;一个是巡线传感器&#xff0c;一个是非接触式液位传感器。有一次&#xff0c;我在思考有什么传感器能够检测到前面很近的距离是否有阻挡时&#xff0c;或者是在传送带上检测面前是否有需要处理的工件的时候&#xff0c;看了很久都没…...

C 语言 打印 二进制 格式 字符串

#include <stdio.h> #include "stdlib.h"char *get_byte_bits(char c);void print_byte_array(char *a, int len);char **get_bits(char *chars, int len);typedef struct ByteBits {char bits[8];int length: 8; } ByteBits;ByteBits *get_byte_bits2(char c...

第十章>>误会>>(剧情教学)

目录 前言 正文&#xff08;剧情&#xff09; 尾言 前言 我看了一下上一章的投票数据&#xff0c;显然&#xff0c;更多的人对解密不感兴趣&#xff0c;最少人选的选项&#xff08;D选项写评论除外&#xff09;是C&#xff1a;只要是你写的我都喜欢&#xff0c;只有一个人投&am…...

死宅学数据库设计

学习自&#xff1a;阿里新零售数据库设计与实战 还不如在家学习数据库设计 1 不一般的 CRUD 1.1 批量插入 &#xff08;1&#xff09;一条失败&#xff0c;全部回滚 改动前 执行插入 sql INSERT INTO t_dept VALUES (40, ACCOUNTING, NEW YORK), (50, RESEARCH, DALLAS),…...

Java算法篇之打印小星星和成绩名次统计

打印正反三角形和冒泡排序算法1.1 打印正反三角形1.2 打印相框1.3 打印字母1.3.1 打印字母一1.3.2 打印字母二1.4 分数名次统计1.1 打印正反三角形 当n3的时候,如果想要打印如下图所示的正反三角形&#xff0c;应该怎么做呢&#xff1f; *******************************如果我…...

c语言打印地址的格式错误,printf()在c中以%p格式打印的地址是哪一个?

我有简单的代码如下&#xff1a;#includeint glob;int main(void){int a;printf("&a is : %p \n", &a);printf("glob is : %p \n", &glob);return 0;}上述方案的产出是&#xff1a;第一次运行&#xff1a;&a is : 0x7fff70de91ecglob is :…...

【MyBatis笔记】02-MyBatis配置SQL打印

MyBatis 配置SQL打印在 SqlMappingConfig.xml 中配置以下代码&#xff1a; <!--配置sql打印--> <settings><setting name"logImpl" value"STDOUT_LOGGING"/> </settings>运行效果&#xff1a;会显示 SQL 语句&#xff0c;查询结果…...

技术宅用3D打印帮助妻子治疗脑瘤

2013年的夏天&#xff0c;Pamela Shavaun Scott每天的无时无刻不都在经历着难以忍受的头痛&#xff0c;已经到了整夜无法安然入睡的地步。于是Scott进行了首次磁核共振成像检查&#xff08;MRI&#xff09;&#xff0c;放射科医师们发现她的脑内存在一个直径约为1英寸的肿块&am…...

打印数字金字塔

package com.love.test;import java.util.Scanner;public class NumberTower {public static void print(int x){//数字三角形的高度int i;for(i1;i<x;i) {//打印空格for(int j1;j<x-i;j) {System.out.print(" ");}//打印数字for(int k1;k<i;k) {System.out…...

Unity ParticleSystem制作脚印效果(记录)

记录一下&#xff0c;防止忘记&#xff0c; 间隔一定距离后创建一个粒子即可 在Start中 记录 角色位置信息 然后在Update中 检测 记录的位置和角色位置的距离 超过一定值后 发射一个粒子 New 一个发射参数 并设置好位置以及旋转 然后 通过 Emit 发射粒子即可 粒子系统设置&…...

宅印微信小程序模仿

宅印微信小程序模仿 第一部分第二部分第一部分 宅印微信小程序是微信端使用的一个打印机链接的物联小程序,我们这次模仿他的界面布局本次项目使用uniapp和uviewui框架,接下来我们开始写 安装框架 需要工具 ,HBuilderX开发工具;创建了新的项目(普通项目就可以)创建项目完…...

实例讲解基于 React+Redux 的前端开发流程

前言&#xff1a;在当下的前端界&#xff0c;react 和 redux 发展得如火如荼&#xff0c;react 在 github 的 star 数达 42000 &#xff0c;超过了 jquery 的 39000&#xff0c;也即将超过前几年比较火的angular 1 的 49000&#xff1b;redux 的 star 数也要接近 20000&#xf…...

自定义view系列(5)--99.99%实现QQ侧滑删除效果

首先声明本文是基于GitHub上"baoyongzhang"的SwipeMenuListView修改而来, 该项目地址:https://github.com/baoyongzhang/SwipeMenuListView 可以说这个侧滑删除效果是我见过效果最好且比较灵活的项目,没有之一!!! 但是在使用它之前需要给大家提两点注意事项: 1,该…...

RS485数据线接反症状

正常接485 55 02 18 00 00 01 01 71 反接485 55 BF EE FF FD FD 1D 00 正常接485 55 02 18 00 00 01 02 72 反接485 55 BF EE FF FD FB 1B 00...