char

C 和 C++ 字符串函数操作

ε祈祈猫儿з 提交于 2020-04-07 11:35:44
1)字符串操作 strcpy(p, p1) 复制字符串 strncpy(p, p1, n) 复制指定长度字符串 strcat(p, p1) 附加字符串 strncat(p, p1, n) 附加指定长度字符串 strlen(p) 取字符串长度 strcmp(p, p1) 比较字符串 strcasecmp忽略大小写比较字符串 strncmp(p, p1, n) 比较指定长度字符串 strchr(p, c) 在字符串中查找指定字符 strrchr(p, c) 在字符串中反向查找 strstr(p, p1) 查找字符串 strpbrk(p, p1) 以目标字符串的所有字符作为集合,在当前字符串查找该集合的任一元素 strspn(p, p1) 以目标字符串的所有字符作为集合,在当前字符串查找不属于该集合的任一元素的偏移 strcspn(p, p1) 以目标字符串的所有字符作为集合,在当前字符串查找属于该集合的任一元素的偏移 * 具有指定长度的字符串处理函数在已处理的字符串之后填补零结尾符 2)字符串到数值类型的转换 strtod(p, ppend) 从字符串 p 中转换 double 类型数值,并将后续的字符串指针存储到 ppend 指向的 char* 类型存储。 strtol(p, ppend, base) 从字符串 p 中转换 long 类型整型数值,base 显式设置转换的整型进制

C语言字符串操作详细总结

拥有回忆 提交于 2020-04-07 11:34:55
1)字符串操作 strcpy(p, p1) 复制字符串 strncpy(p, p1, n) 复制指定长度字符串 strcat(p, p1) 附加字符串 strncat(p, p1, n) 附加指定长度字符串 strlen(p) 取字符串长度 strcmp(p, p1) 比较字符串 strcasecmp忽略大小写比较字符串 strncmp(p, p1, n) 比较指定长度字符串 strchr(p, c) 在字符串中查找指定字符 strrchr(p, c) 在字符串中反向查找 strstr(p, p1) 查找字符串 strpbrk(p, p1) 以目标字符串的所有字符作为集合,在当前字符串查找该集合的任一元素 strspn(p, p1) 以目标字符串的所有字符作为集合,在当前字符串查找不属于该集合的任一元素的偏移 strcspn(p, p1) 以目标字符串的所有字符作为集合,在当前字符串查找属于该集合的任一元素的偏移 * 具有指定长度的字符串处理函数在已处理的字符串之后填补零结尾符 2)字符串到数值类型的转换 strtod(p, ppend) 从字符串 p 中转换 double 类型数值,并将后续的字符串指针存储到 ppend 指向的 char* 类型存储。 strtol(p, ppend, base) 从字符串 p 中转换 long 类型整型数值,base 显式设置转换的整型进制

【C语言】23-typedef

久未见 提交于 2020-04-07 07:32:26
一、typedef作用简介 * 我们可以使用typedef关键字为各种数据类型定义一个新名字(别名)。 1 #include <stdio.h> 2 3 typedef int Integer; 4 typedef unsigned int UInterger; 5 6 typedef float Float; 7 8 int main(int argc, const char * argv[]) { 9 Integer i = -10; 10 UInterger ui = 11; 11 12 Float f = 12.39f; 13 14 printf("%d %d %.2f", i, ui, f); 15 16 return 0; 17 } 在第3、第4、第6行分别给int、unsigned int、float起了个别名,然后在main函数中使用别名定义变量,用来跟原来的基本类型是完全一样的。输出结果: 当然,给类型起别名后,原来的int、float还是可以正常使用的: int i = 10; float f = 10.0f; * 也可以在别名的基础上再起一个别名 typedef int Integer; typedef Integer MyInteger; 二、typedef与指针 除开可以给基本数据类型起别名,typedef也可以给指针起别名 1 #include

NOIp 2018 前的图论板子总结

∥☆過路亽.° 提交于 2020-04-07 07:25:05
存图 存边 直接开一个结构体数组存边 struct Edge { int begin, end, weight; } edge[10010]; int edge_count; inline void AddEdge(const int &u, const int &v, const int &w) { edge[edge_count++] = Edge {u, v, w}; } 应用: Kruskal's algorithm Adjacency matrix 用二维数组 adj[i][j] 表示 \(i\) 与 \(j\) 的关系 int adj[1010][1010]; #define ADD_EDGE(u, v, w) adj[u][v] = w 应用: Floyd-Warshall algorithm Hangarian algorithm Kuhn-Munkres algorithm Adjacency list 有几种形式, 以 adj[i] 表示以 \(i\) 为开头的边 应用: 各种图论算法 vector 优点: 访问方便, 存图方便 缺点: 消耗空间, 容易 \(MLE\) ; 删边速度慢 struct Edge { int destination, weight; }; std::vector<Edge> adj[1010]; 加边 #define ADD

php c java python 语言对比

孤人 提交于 2020-04-07 04:56:48
-------------PHP----------------------- 数据类型: String(字符串), Integer(整型), Float(浮点型), Boolean(布尔型), Array(数组), Object(对象), ----------------python----------------------- Number(数字)、String(字符串)、Tuple(元组)、List(列表)、Dictionary(字典)、Set(集合)。 1)list list = [ 'abcd', 786 , 2.23, 'runoob', 70.2 ]  跟php,key为自增长的数组差不多 2)元组 tuple = ( 'abcd', 786 , 2.23, 'runoob', 70.2 )  内容不能改变 3)Set集合 student = {'Tom', 'Jim', 'Mary', 'Tom', 'Jack', 'Rose'}   4)Dictionary(字典) 列表是有序的对象集合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。 tinydict = {'name': 'runoob','code':1, 'site': 'www.runoob.com'}  跟php,key为非自增长数组差不多,括号不一样

3、C语言 —— 基本数据类型

我们两清 提交于 2020-04-07 01:14:06
一、C语言的数据类型 空类型(void) 指针类型(void *) 构造类型 数组 结构体(struct) 共用体(union) 枚举(enum) 基本数据类型 整型(int) 浮点型(单精度 float,双精度 double) 字符型(char) 二、基本数据类型所占存储空间(16位编译器下) int -> 整型 -> 2个字节 float -> 单精度浮点型 -> 4个字节 double -> 双精度浮点型 -> 8个字节 char -> 字符型 -> 1个字节 三、类型修饰符 short 短型 long 长型 signed 有符号型 unsigned 无符号型 四、char // char取值范围是 ASCII码字符 或 -128~127的整数 // char只能存储一个字符 char a = 'A'; char b = 65; printf("%c %c", a, b); // 输出A printf("%d %d", a, b); // 输出65 五、不同编译器环境下基本数据类型的存储长度 来源: oschina 链接: https://my.oschina.net/u/1444783/blog/279652

银行ATM机工作流程模拟编程(代码)

依然范特西╮ 提交于 2020-04-06 18:34:59
#include<stdio.h> #include<stdlib.h> #include <conio.h> #include <string.h> void denglu(struct people *head,struct people *p); void jiemian(struct people *head,struct people *p); void chaxun(struct people *head,struct people *p); void qukuan(struct people *head,struct people *p); void cunkuan(struct people *head,struct people *p); void xiugai(struct people *head,struct people *p); void tuika(struct people *head,struct people *p); void xinxi(struct people *head,struct people *p); struct people { char name[10]; char account[20]; char password[10]; float money; struct people*next; }; void main()

cin流输入控制(clear(),sync(),flush(),ignore())

戏子无情 提交于 2020-04-06 14:31:40
原文链接: https://blog.csdn.net/shun01/article/details/17021871 1,cin,表示标准输入(standard input)的istream类对象.cin使我们可以从设备读取数据. 2,cout,表示标准输出(standard output)的ostream类对象.cout使我们可以向设备输出或者写数据. 3,cerr(暂时还没试过,先别理吧) 暂时先介绍那么多,这里我主要想说的是cin.get()和cin.getline(),cin.clear(),cin.sync()等的用法. 首先看看cin.get(),它是一个读取单个字符的方法. 字符变量=cin.get();相当于cin.get(字符变量); #include <iostream> using namespace std; int main() { char cstr; cstr=cin.get(); //读取单个字符,在屏幕输入,也相当于cin.get(cstr); cout<<cstr<<endl; //输出刚刚载入的单个字符 system("pause"); } 运行程序后,一切正常: 输入:a 输出:a 但当我们输入的不只一个英文字符时,那又会如何呢? 输入:abcd 输出:a 由此可知,它只能读取第一个字符,但如果我们把程序修改成: int main() {

KMP,Trie,AC自动机题目集

放肆的年华 提交于 2020-04-06 08:47:44
字符串算法并不多,KMP,trie,AC自动机就是其中几个最经典的。字符串的题目灵活多变也有许多套路,需要多做题才能体会。这里收集了许多前辈的题目做个集合,方便自己回忆。 KMP题目: https://blog.csdn.net/qq_38891827/article/details/80501506 Trie树题目: https://blog.csdn.net/qq_38891827/article/details/80532462 AC自动机:模板 https://www.luogu.org/blog/42196/qiang-shi-tu-xie-ac-zi-dong-ji AC自动机题目集: https://www.cnblogs.com/kuangbin/p/3164106.html KMP: LuoguP3375 KMP模板 #include<iostream> #include<cstdio> #include<cstring> using namespace std; const int N=1000000+10; char a[N],b[N]; int n,m,nxt[N],f[N],g[N]; void get_next() { nxt[1]=0; for (int i=2,j=0;i<=n;i++) { while (j>0 && a[j+1]!=a[i]) j

string、wstring、cstring、 char、 tchar、int、dword转换方法

感情迁移 提交于 2020-04-06 07:19:53
最近编程一直头痛这集中类型的转化,明知都可以转却总是记不住,不断的上网查来查去,在这里小结一下。以备以后方便使用,当然有些方法可能不是最新的,或者最简单的,但是对于自己已经了解的使用起来应该方便的多: 1》string转wstring wstring s2ws(const string& s) { _bstr_t t = s.c_str(); wchar_t* pwchar = (wchar_t*)t; wstring result = pwchar; return result; } 2》wstring转string string ws2s(const wstring& ws) { _bstr_t t = ws.c_str(); char* pchar = (char*)t; string result = pchar; return result; } 3》string转cstring a)CString.format("%s", string.c_str()); b)CString StringToCString(string str) { CString result; for (int i=0;i<(int)str.length();i++) { result+=str[i]; } return result; } 4》cstring转string a)void