char

常见c语言字符串题

丶灬走出姿态 提交于 2020-03-20 18:38:37
字符串是程序员求职笔试中必考题型,很能考查出编程的基础。下文选取了几个常见的考题和大家进行分享。 1、编写函数,实现把一个char组成的字符串循环右移n位。如abcdehi,n=2。则输出hiabcde。 #include "iostream" using namespace std; const int MAX_LEN = 20; void LoopMove(char* cpStr, int iSteps) { //注意,在整个处理过程中,cpStr的最后字符都没有涉及处理 char cTempArray[MAX_LEN]; size_t szStrLength = strlen(cpStr); size_t in = szStrLength -iSteps; memcpy(cTempArray, cpStr + in, iSteps); memcpy(cTempArray + iSteps, cpStr, in); memcpy(cpStr, cTempArray, szStrLength); cTempArray[szStrLength + 1] = '\0'; cout << cTempArray << endl; } int main() { char ctemp[] = "abcdefghi"; LoopMove(ctemp, 2); cout << ctemp <<

Java基础--day09

烂漫一生 提交于 2020-03-20 10:32:12
一维数组 单个的数组变量可以引用一个大的数据集合 1. 基础知识 一旦数组被创建,它的大小是固定的,使用一个数组引用变量,通过下标来访问数组中的元素 1.1 声明数组变量 elementType[] arrayRefVar; (元素类型[] 数组引用变量;) e.g double[] mylist; 声明数组不在内存中分配空间,它只是创建一个 对数组的引用 的存储位置 1.2 创建数组 arrayRefVar = new elementType[arraySize]; [x] 使用 new elementType[arraySize] 创建一个数组 [x] 把新创建的数组的 引用赋值 给变量 arrayRefVar 声明一个数组变量、创建数组、然后将数组引用赋值给变量 这三个步骤可以合并成一条: elementType[] arrayRefVar = new elementType[arraySize]; 元素类型[] 数组引用变量 = new 元素类型[数组大小] double[] myList = new double[10]; 赋值 为: arrayRefVar[index] = value; 在java中,数组变量时一种引用,如 myList 是一个含有10个 double 型元素数组的引用变量 1.3 数组大小和默认值 在分配数组时候,必须指定该数组能够存储的元素个数

简单的多屏播放器示例(vlc+qt)

强颜欢笑 提交于 2020-03-20 07:26:30
介绍 简单的多屏播放器 最多同时播放16个视频 支持本地文件和rtsp、rtmp等流媒体播放 VS2015工程,依赖Qt+VLC 练手作品 截图 下载 程序: download.csdn.net/detail/u014755412/9908787 源码: github.com/FutaAlice/QtPlayer 代码分析 IMediaPlayer是为规定接口的基类 提供了播放和控制的几个常用函数 其中打开媒体部分拆分为了OpenURL和OpenFile,并在cpp中实现 若为Windows环境,则对QFileDialog获取的路径进行替换 /******************************************************************* IMediaPlayer.h(接口类) 构造时传入QWidget* 调用OpenFile或OpenURL或Open打开文件并渲染窗体 *******************************************************************/ #ifndef IMEDIAPLAYER_H #define IMEDIAPLAYER_H class QWidget; class IMediaPlayer { public: IMediaPlayer(QWidget* pWidget);

指针函数/函数指针/指针数组/数组指针 区别

∥☆過路亽.° 提交于 2020-03-20 04:32:30
今天又遇到了指针数组,理解通道数据搞了半天。。。 bool LocalFileSaver::SaveADCData(Cash *data, LPCTSTR folder) { if (_tcscmp(folder, _T("")) == 0) { return false; } TCHAR path[MAX_PATH] = { 0 }; TCHAR fileName[128] = { 0 }; char sn[24] = { 0 }; strcpy(sn, data->GetSN()); if (sn[0] == '\0') { sprintf(sn, "0"); } wsprintf(fileName, _T("%04d%02d%02d_%02d%02d%02d_%03d_Err%03d_LastErr0x0_Den%d_Dir%d_Ver%02d_SN%s_adc.raw"), runCashStartTime.wYear, runCashStartTime.wMonth, runCashStartTime.wDay, runCashStartTime.wHour, runCashStartTime.wMinute, runCashStartTime.wSecond, data->Id(), data->GetError(), data->GetDenomination(),

转:gcc编译C++程序

≯℡__Kan透↙ 提交于 2020-03-19 09:53:41
转:http://blog.csdn.net/liujiayu2/article/details/49864381 单个源文件生成可执行程序 下面是一个保存在文件 helloworld.cpp 中一个简单的 C++ 程序的代码: [cpp] view plain copy print ? /* helloworld.cpp */ #include <iostream> int main( int argc, char *argv[]) { std::cout << "hello, world" << std::endl; return(0); } 程序使用定义在头文件 iostream 中的 cout,向标准输出写入一个简单的字符串。该代码可用以下命令编译为可执行文件: $ g++ helloworld.cpp 编译器 g++ 通过检查命令行中指定的文件的后缀名可识别其为 C++源代码文件。编译器默认的动作:编译源代码文件生成对象文件(object file),链接对象文件和 libstdc++ 库中的函数得到可执行程序。然后删除对象文件。由于命令行中未指定可执行程序的文件名,编译器采用默认的 a.out。程序可以这样来运行: $ ./a.out hello, world 更普遍的做法是通过 -o 选项指定可执行程序的文件名。下面的命令将产生名为 helloworld 的可执行文件

python图像、视频转字符画

╄→гoц情女王★ 提交于 2020-03-19 06:12:06
  python图像转字符画需要用到matplotlib.pyplot库,视频转字符画需要用到opencv库,这里的代码基于python 3.5   图像转字符画需要先将图像转为灰度图,转灰度图的公式是 gray = 0.2126 * r + 0.7152 * g + 0.0722 * b ,因为matplotlib图像的色彩排序是RGB的(opencv是BGR),所以如果不用库函数,可以使用以下代码实现灰度转换: gray = 0.2126 * pic[:,:,0] + 0.7152 * pic[:,:,1] + 0.0722 * pic[:,:,2]   转成灰度图以后,对于每一个像素值,都要对应一个字符值。然后从图像中均匀取一些像素出来作映射即可实现图像到字符画的转换,代码如下: import matplotlib.pyplot as plt show_heigth = 30 show_width = 40 #这两个数字是调出来的 ascii_char = list("$@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/\|()1{}[]?-_+~<>i!lI;:,\"^`'. ") #生成一个ascii字符列表 char_len = len(ascii_char) pic = plt.imread("wm.jpg") #使用plt

Oracle基础函数

假装没事ソ 提交于 2020-03-19 05:55:09
[sql] view plain copy --1,大小写控制函数 SELECT LOWER( 'Hello World') 转小写, UPPER( 'Hello World') 转大写, INITCAP( 'hello world') 首字母大写 FROM DUAL; --2,字符控制函数 SELECT CONCAT( 'Hello', 'World') 字符连接 FROM DUAL; --3,求字母串中的某个子串 SELECT SUBSTR( 'Hello World',3) FROM DUAL; --截取从第3个字符到末尾 SELECT SUBSTR( 'Hello World',3,4) FROM DUAL; --截取从第3个字符连续4个字符 --4,字符数和字节数 SELECT LENGTH( 'China') 字符数, LENGTHB( 'China') 字节数 FROM DUAL; --5,在母串中,查找子串的位置 SELECT INSTR( 'Hello World', 'll') FROM DUAL; --6,左右填充,将abcd用*填充到10位 SELECT LPAD( 'abcd',10, '*') 左填充, RPAD( 'abcd',10, '*') 右填充 FROM DUAL; --7,去掉字符串前后指定的字符 SELECT TRIM( 'H' FROM

MySQL 处理重复数据

旧城冷巷雨未停 提交于 2020-03-19 02:47:28
MySQL 处理重复数据 sMySQL 处理重复数据 有些 MySQL 数据表中可能存在重复的记录,有些情况我们允许重复数据的存在,但有时候我们也需要删除这些重复的数据。 本章节我们将为大家介绍如何防止数据表出现重复数据及如何删除数据表中的重复数据。 防止表中出现重复数据 你可以在MySQL数据表中设置指定的字段为 PRIMARY KEY(主键) 或者 UNIQUE(唯一) 索引来保证数据的唯一性。 让我们尝试一个实例:下表中无索引及主键,所以该表允许出现多条重复记录。 CREATE TABLE person_tbl ( first_name CHAR(20), last_name CHAR(20), sex CHAR(10) ); 如果你想设置表中字段first_name,last_name数据不能重复,你可以设置双主键模式来设置数据的唯一性, 如果你设置了双主键,那么那个键的默认值不能为NULL,可设置为NOT NULL。如下所示: CREATE TABLE person_tbl ( first_name CHAR(20) NOT NULL, last_name CHAR(20) NOT NULL, sex CHAR(10), PRIMARY KEY (last_name, first_name) ); 如果我们设置了唯一索引,那么在插入重复数据时,SQL语句将无法执行成功

MySQL 处理重复数据

好久不见. 提交于 2020-03-19 02:46:01
有些 MySQL 数据表中可能存在重复的记录,有些情况我们允许重复数据的存在,但有时候我们也需要删除这些重复的数据。 防止表中出现重复数据 你可以在MySQL数据表中设置指定的字段为 PRIMARY KEY(主键) 或者 UNIQUE(唯一) 索引来保证数据的唯一性。 CREATE TABLE person_tbl ( first_name CHAR(20), last_name CHAR(20), sex CHAR(10) ); 如果你想设置表中字段first_name,last_name数据不能重复,你可以设置双主键模式来设置数据的唯一性, 如果你设置了双主键,那么那个键的默认值不能为NULL,可设置为NOT NULL。如下所示: CREATE TABLE person_tbl ( first_name CHAR(20) NOT NULL, last_name CHAR(20) NOT NULL, sex CHAR(10), PRIMARY KEY (last_name, first_name) ); 如果我们设置了唯一索引,那么在插入重复数据时,SQL语句将无法执行成功,并抛出错。 INSERT IGNORE INTO与INSERT INTO的区别就是INSERT IGNORE会忽略数据库中已经存在的数据,如果数据库没有数据,就插入新的数据,如果有数据的话就跳过这条数据

MySQL 必知必会学习笔记

痴心易碎 提交于 2020-03-19 02:45:15
SHOW DATABASES; USE LangLibCEE; SHOW TABLES; SHOW COLUMNS FROM customers; DESC customers; SHOW STATUS WHERE Variable_name LIKE '%time'; SHOW CREATE DATABASE httprunner; SHOW CREATE TABLE t; SHOW GRANTS; SHOW ERRORS; SHOW WARNINGS; SELECT prod_name FROM products; SELECT prod_id, prod_name, prod_price FROM products; SELECT DISTINCT vend_id FROM products; SELECT prod_name FROM products LIMIT 5; SELECT prod_name FROM products ORDER BY prod_name; SELECT prod_id, prod_price,prod_name FROM products ORDER BY prod_price, prod_name; SELECT prod_id, prod_price,prod_name FROM products ORDER BY prod_price