char

单词翻转

非 Y 不嫁゛ 提交于 2020-03-06 08:33:42
问题描述:输入一个英文句子,翻转句子中单词的顺序。要求单词内字符顺序不变,句子中单词由空格隔开。为简单起见,标点符号和普通字母一样处理。例如,若输入"I am a student.",则输出"student. a am I" 参考思路:首先将整个字符串进行翻转,然后根据空格来实现每个单词的翻转,关键在于判断结束为止以及下一个单词的开始位置。 参考代码: #include <bits/stdc++.h> using namespace std; void swap_str(char* a, char* b) { char t = *a; *a = *b; *b = t; } void str_reverse(char *start, char *over) { while (start < over) { swap_str(start++, over--); } } void reverseString(char *s) { char *start = s; char *over = start; for ( ; *over!= '\0'; over++ ) { }; over--; str_reverse( start, over ); start = s; over = start; char* end_word = NULL; while ( *(over-1) != '\0'

winsocket <研究了一天的成果>

我的未来我决定 提交于 2020-03-06 04:32:49
首先,这都是套路( ▼-▼ ) 头文件 #include <WinSock.h> #include <Winsock2.h> 用这个,这个是升级版 各个函数解释 1、 WSAStartup: 初始化套接字环境,本函数必须是应用程序或DLL调用的第一个Windows Sockets函数.它允许应用程序或DLL指明Windows Sockets API的版本号及获得特定Windows Sockets实现的细节.应用程序或DLL只能在一次成功的WSAStartup()调用之后才能调用进一步的Windows Sockets API函数. int WSAStartup(WORD wVersionRequested, LPWSADATA lpWSAData); 实际用例 //begin 初始化网络环境 int err = WSAStartup(MAKEWORD(2, 2), &wsaData); if ( err != 0) { printf("WSAStartup failed with error: %d\n", err); return -1; }//end 2、 WSACleanup: 清理套接字环境,和上面的WSAStartup相反,该函数是在程序不在对任何Windows Sockets函数调用后,用其来清理套接字环境的 int WSACleanup (void); 3、

JavaSE!面向对象!!!!

情到浓时终转凉″ 提交于 2020-03-06 03:21:27
1. 面向对象的编程思想: 面向对象的编程思想就是把一个事物看成一个整体,把这个事物中的属性(特征)和功能(方法)表述出来。 面向对象的编程思想更贴近于人的正常思维方式。 面向对象的编程思想来源于生活服务于生活。 面向对象的编程思想中,一定会用到面向过程(以流程为基本单位,注重最后结果。)的编程思想。有缺陷:功之间有很强的关联。不利于程序的维护和扩展。 面向对象的特征: 抽象!! 封装!! 继承!! 多态!! 。 2. 对象 在现实生活中,具体存在的一个事物。 在java编程中,万事万物皆对象。 特点: 在java编程中,无论两个事物多么相近或是相似,他们永远都是两个不同的对象。 各种法律、规则制度也是一种对象。 对象的内存图解 1 1.在堆内存中开辟一个空间并分配地址 2.按照类的描述,在该空间中定义成员变量 并且有默认初始化值 3.加载成员函数进入方法区(只加载一次) 4.对象创建完毕 将空间地址赋值给相应的变量 5.变量(p1/p2)调用成员变量 先通过该变量所存储的地址去堆空间中找 然后在该空间中找相应的成员变量 6.变量(p1/p2)调用成员函数 直接去方法区中找该成员函数 将该函数加载进栈内存开始运行 为了方便区分哪个对象调用的该成员函数 由this这个关键字段 来区分 this主要存的是当前对象的地址 注意:当成员函数在操作变量的时候 先在当前函数的空间里找 局部变量

mysql内容总体回顾

人走茶凉 提交于 2020-03-06 00:57:12
数据类型:   数值类型: 整形 浮点型   字符串: char(定长)\varchar(不定长)   char(定长):插入数据或查询数据都快,因为char在磁盘上插入数据时的存储空间是固定的,简单粗暴,直接就是定长空间,那么就不需要考虑数据的长度,所以在进行数据查询时,速度也快,因为在读取数据时,也不需要考虑数据长度,(简单粗暴) 就按照定长的空间来取数据.     varchar(不定长):插入和查询速度相对较慢,因为它在内容 存储数据的时候,按照数据的长度进行存储的,那么每次存储数据都需要计算一下数据的长度,按照长度来开辟存储空间,那么在数据的存储空间前面还需要1-2个字节空间长度来存储数据的长度,也就是说格式大概是长度+内容,也导致了在读取数据时,首先要先读取数据的长度,然后根据长度再读取后面的内容,导致速度较慢,但是多数情况下可以节省存储空间.   日期类型:     year 2018     data 2018-01-01     time 12:10:10     datatime(*) 2019.1.22 12:10:10 *****平时工作用datatime     timestamp   范围:1970-01-01 00:00:00/2037 年某时 year: mysql> create table t10(born_year year);

C 语言&GCC

末鹿安然 提交于 2020-03-05 23:30:01
C 语言&GCC C 语言--指向char和int的指针 GCC 预处理,编译,汇编 链接 动态链接 静态链接 本文是基于韦东山视频的学习笔记 C 语言–指向char和int的指针 我也不知道怎么说。 64位机,char是1字节,int是4字节,凡是指针都是8字节 32位机,char是1字节,int是4字节,凡是指针都是4字节 看得出,指针就是存放地址的,会根据系统的寻址能力变化。 没啥说的。 GCC 预处理,编译,汇编 一个c文件摆在面前,最简单的gcc编译命令就是 gcc hello.c 不是说不行,但是这样输出的可执行文件名就会是“a.out”,不明白的还以为多了个垃圾文件出来。所以一般怎么说,也会加个选项 -o ,用来命名输出的文件名。比如: gcc -o hello hello.c //hello就是输出文件名字 一般来说,一个执行文件要经过预处理 1 ,编译 2 ,汇编 3 ,链接 4 四个步骤的 hello.c hello.i hello.s hello.o 可执行文件 hello gcc -E -o hello.i hello.c gcc -S -o hello.s hello.i gcc -c -o hello.o hello.s gcc -o hello hello.o 预处理 编译 汇编 链接 hello.c hello.i hello.s hello.o

VTK010_vtk-图像基础处理_上

主宰稳场 提交于 2020-03-05 22:14:02
1、图像融合: 图像融合,将两张图片进行融合在一起,体现为每张图片都有不同的透明度。 #include <vtkSmartPointer.h> #include <vtkJPEGReader.h> //#include <vtkImageCast.h> #include <vtkImageData.h> #include <vtkImageCanvasSource2D.h> #include <vtkImageBlend.h> #include <vtkImageActor.h> #include <vtkRenderer.h> #include <vtkRenderWindow.h> #include <vtkRenderWindowInteractor.h> #include <vtkInteractorStyleImage.h> int main(int argc, char* argv[]) { // 图片数据 vtkSmartPointer<vtkJPEGReader> reader = vtkSmartPointer<vtkJPEGReader>::New(); reader->SetFileName("flower.jpg"); reader->Update(); vtkSmartPointer<vtkJPEGReader> source =

C++多字节与宽字节间的转换(wchar_t与char转换)

懵懂的女人 提交于 2020-03-05 22:11:45
最近在C++编程中经常遇到需要多字节字符与宽字节字符相互转换的问题,一直自己贴那几句代码。觉得麻烦,于是就自己写了一个类来封装wchar_t与char类型间的转换, 其他的,诸如:CString\ LPWSTR\TCHAR CHAR\LPSTR之间也是一样用 #include <iostream> using namespace std; class CUser { public: CUser(); virtual~ CUser(); char* WcharToChar(wchar_t* wc);//宽字节转单字节 wchar_t* CharToWchar(char* c); //单字节转宽字节 void Release();//释放资源 private: char* m_char; wchar_t* m_wchar; }; ///////////////////////////////////////////////////////////////////////////////////// /*字符类型 wchar_t char /*获取字符长度 wcslen() strlen() /*连接两个字符串 wcscat() strcpy() /*复制字符串 wcscpy() strcpy() /*比较两个字符串 wcscmp() strcmp() /*具体参数详见 www

C++字符串与string类

僤鯓⒐⒋嵵緔 提交于 2020-03-05 18:17:50
字符串与string类-2020-3-5 C++语言对于字符串的操作提供了许多字符串处理函数,我们将介绍一些常用的字符串函数,需要注意的是,使用这些字符串处理函数,需要在文件头加上 #include<string.h> 这一句。 1. #include<string.h> 一、字符串转换小写字符 strlwr(char *s1) 该函数将字符串s1中的所有字符转小写。 如下: //字符串转换小写字符 # include <iostream> # include <string.h> # include <stdio.h> using namespace std ; int main ( ) { char s1 [ 50 ] ; gets ( s1 ) ; strlwr ( s1 ) ; puts ( s1 ) ; return 0 ; } 二、字符串转换大写字符 strupr(char*s1) 该函数将字符串s1中的所有字符转大写。 如下: //字符串转换大写字符 # include <iostream> # include <string.h> # include <stdio.h> using namespace std ; int main ( ) { char s1 [ 50 ] ; gets ( s1 ) ; strupr ( s1 ) ; puts ( s1 ) ;

shift count is too large

一笑奈何 提交于 2020-03-05 16:25:05
STM8S是8 bit单片机 在STM8S中 unsigned long是32位, unsigned short和unsigned int都是16位,unsigned char是8位。 以以下代码编译时报了“shift count is too large”的warning, 并且代码执行时也没有达到预期效果: 1 unsigned char temp[4]; 2 unsigned long pd_reg; 3 ... 4 pd_reg = temp[3] << 24 | temp[2] << 16 | temp[1] << 8 | temp[0]; 后面加上了强制类型转换解决了此问题: 1 unsigned char temp[4]; 2 unsigned long pd_reg; 3 ... 4 pd_reg = (unsigned long)temp[3] << 24 | (unsigned long)temp[2] << 16 | (unsigned long)temp[1] << 8 | (unsigned long)temp[0]; 来源: https://www.cnblogs.com/wanglouxiaozi/p/12420745.html

数据库mysql

半世苍凉 提交于 2020-03-05 16:22:59
内容回顾 day35 # 并发编程 # io操作 : input/output # 阻塞 非阻塞(get_nowait) 同步 异步(start terminate submit map) 并发 并行 # 进程的三状态图 : 阻塞 运行 就绪 # 进程 计算机中最小的资源分配单位 # 进程之间数据隔离\资源不共享 # 可以利用多个CPU # 开启和销毁的开销大 # 由操作系统负责调度 # multiprocessing模块 # Process类 : 开启进程 # 各种操作进程的方法 # 守护进程 : 守护到主进程的代码结束 # IPC : 进程之间通信 # 基于文件Queue Pipe\基于网络 socket 第三方工具 # 进程中的互斥锁 Lock :性能好 # 进程中的递归锁 RLock : 效率低 # 递归锁可以锁多次不会发生死锁 # 线程 # 计算机中能够被操作系统调度的最小单位 # 线程之间资源共享 # 可以利用多核 # 开启和销毁的开销小 # 由操作系统负责调度 # GIL锁 : 全局解释器锁 互斥锁 # 导致了Cpython解释器下 同一个进程下的多个线程 不能利用多核 # 由于垃圾回收机制gc不能在多线程环境下正常进行引用计数 # threading模块 # Thread类 # 开启线程 # 守护线程 : 守护整个主线程的 # 子线程先结束 # 主线程结束 #