char

汉明距离计算,非字符串

给你一囗甜甜゛ 提交于 2020-02-28 10:43:26
public int hammingDistance(int x, int y) { int hamming = x ^ y; int cnt = 0; while(hamming > 0){ hamming = hamming & (hamming - 1); cnt++; } return cnt; } char[] strChars = str.toCharArray(); char[] targetChars = target.toCharArray(); int count = 0; for (int i = 0; i < 1280; i++) { if (strChars[i] == targetChars[i]) { count++; } } return 1280-count; 来源: 51CTO 作者: shaiberni 链接: https://blog.51cto.com/1348916/2474162

linux c 字符串查找函数 strstr strcasestr

无人久伴 提交于 2020-02-28 10:29:17
一、strstr函数使用 [1] 函数原型 char *strstr(const char *haystack, const char *needle); [2] 头文件 #include <string.h> [3] 函数功能 搜索"子串"在"指定字符串"中第一次出现的位置 [4] 参数说明 haystack -->被查找的目标字符串"父串" needle -->要查找的字符串对象"子串" 注:若needle为NULL, 则返回"父串" [5] 返回值 (1) 成功找到,返回在"父串"中第一次出现的位置的 char *指针 (2) 若未找到,也即不存在这样的子串,返回: "NULL" [6] 程序举例 #include <stdio.h> #include <string.h> int main(int argc, char *argv[]) { char *res = strstr("xxxhost: www.baidu.com", "host"); if(res == NULL) printf("res1 is NULL!\n"); else printf("%s\n", res); // print:-->'host: www.baidu.com' res = strstr("xxxhost: www.baidu.com", "cookie"); if(res ==

Mysql 权限方案

女生的网名这么多〃 提交于 2020-02-28 09:51:01
Mysql 权限方案 账户管理 类型 是否支持创建 支持授权类型 说明 root 账户 是 普通账户 是 - 表级权限 - 库级权限 - 实例级权限 Grant 权限 - GRANT SELECT ON shicai3 . a TO shicai3 @ % WITH GRANT OPTION - GRANT SELECT ON shicai1 .* TO shicai3 @ % WITH GRANT OPTION - GRANT SELECT ON *.* TO shicai3 @ % WITH GRANT OPTION 注:当一个用户同时获得实例级权限 + grant 权限,该用户实际升级为 root 元数据表 1. mysql.user 作用 用户信息,如:用户名,密码 实例级权限信息 定义 CREATE TABLE ` user ` ( ` Host ` char ( 60 ) COLLATE utf8_bin NOT NULL DEFAULT '' , ` User ` char ( 32 ) COLLATE utf8_bin NOT NULL DEFAULT '' , ` Select_priv ` enum ( 'N' , 'Y' ) CHARACTER SET utf8 NOT NULL DEFAULT 'N' , ` Insert_priv ` enum ( 'N'

如何摆脱GCC中从字符串常量到&apos;char *&apos;&apos;警告的弃用转换?

假如想象 提交于 2020-02-28 06:53:03
所以我正在开发一个非常大的代码库,最近升级到gcc 4.3,它现在触发了这个警告: 警告:不推荐将字符串常量转换为'char *' 显然,解决这个问题的正确方法是找到每个声明 char *s = "constant string"; 或函数调用如: void foo(char *s); foo("constant string"); 并使它们成为 const char 指针。 但是,这意味着触及564个文件,最小,这不是我希望在此时执行的任务。 现在的问题是我正在运行 -werror ,所以我需要一些方法来扼杀这些警告。 我怎样才能做到这一点? #1楼 PyTypeObject PyDict_Type= { ... PyTypeObject PyDict_Type= { PyObject_HEAD_INIT(&PyType_Type), "dict", dict_print, 0, 0 }; 观看名称字段,在gcc中编译时没有警告,但在g ++中它会,我不知道为什么。 在 gcc (Compiling C) ,-Wno-write-strings默认是活动的。 in g++ (Compiling C++) Wwrite-strings默认是活动的 这就是为什么会有不同的行为。 对于我们来说,使用 Boost_python 宏 Boost_python 产生这样的警告。

BerkeleyDB库简介

断了今生、忘了曾经 提交于 2020-02-28 06:07:21
BerkeleyDB库简介 BerkeleyDB (简称为BDB)是一种以key-value为结构的嵌入式数据库引擎: 嵌入式:bdb提供了一系列应用程序接口(API),调用这些接口很简单,应用程序和bdb所提供的库一起编译/链接成为可执行程序; NOSQL:bdb不支持SQL语言,它对数据的管理很简单,bdb数据库包含若干条记录,每条记录由关键字和数据(key-value)两部分构成。数据可以是简单的数据类型,也可以是复杂的数据类型,例如C语言的结构体,bdb对数据类型不做任何解释,完全由程序员自行处理,典型的C语言指针的自由风格; DB的设计思想是简单、小巧、可靠、高性能。如果说一些主流数据库系统是大而全的话,那么DB就可称为小而精。DB提供了一系列应用程序接口(API),调用本身很简单,应用程序和DB所提供的库在一起编译成为可执行程序。这种方式从两方面极大提高了DB的效率。第一:DB库和应用程序运行在同一个地址空间,没有客户端程序和数据库服务器之间昂贵的网络通讯开销,也没有本地主机进程之间的通讯;第二:不需要对SQL代码解码,对数据的访问直截了当。 DB对需要管理的数据看法很简单,DB数据库包含若干条记录,每一个记录由关键字和数据(KEY/VALUE)构成。数据可以是简单的数据类型,也可以是复杂的数据类型,例如C语言中结构。DB对数据类型不做任何解释, 完全由程序员自行处理

用Java解码Base64数据

冷暖自知 提交于 2020-02-28 05:58:46
我有一个Base64编码的图像。 用Java解码的最佳方法是什么? 希望仅使用Sun Java 6附带的库。 #1楼 另一个较晚的答案,但我的基准测试表明, Jetty的Base64 编码器 实现 非常快。 不如 MiGBase64 快,但比 iHarder Base64 快。 import org.eclipse.jetty.util.B64Code; final String decoded = B64Code.decode(encoded, "UTF-8"); 我还做了一些基准测试: library | encode | decode ------------------+--------------+------------- 'MiGBase64' | 10146001.00 | 6426446.00 'Jetty B64Code' | 8846191.00 | 3101361.75 'iHarder Base64' | 3259590.50 | 2505280.00 'Commons-Codec' | 241318.04 | 255179.96 这些是每秒运行数,因此越高越好。 #2楼 如果对某人有用,这是我自己的实现: public class Base64Coder { // The line separator string of the operating

C语言string字符串函数memset()、memchr()、memcpy()\strcat()、strncat()、strchr()

旧巷老猫 提交于 2020-02-28 05:29:55
1.memchr() 原型:void memchr(const void str, int c, size_t n) 作用:在 str的前n个字节中寻找c 返回值:一个指向匹配字节的指针 否则空指针(第一个匹配的值的指针) 2.strchr() 原型:char strchr(const char*s,int c) 返回值:匹配字节的指针 区别:memchr检测的是一段内存,strchr检测的是一个字符串 如果一段内存中有0x0的话,不能用strchr去查找的,因为遇到0x0会当作字符串的结束符停止。而mem是根据后面的n停止。 # include <stdio.h> # include <string.h> int main ( ) { char * p1 , * p2 ; char ch [ ] = { "Nthing is impossible,Believe yourself!" } ; p1 = ( char * ) memchr ( ch , 'i' , strlen ( ch ) ) ; p2 = strchr ( ch , 'i' ) ; printf ( "Memchr()搜索i:%s\n strhr()搜索i:%s" , p1 , p2 ) ; return 0 ; } 运行结果: Memchr()搜索i:ing is impossible,Believe

JAVA八大基本数据类型

给你一囗甜甜゛ 提交于 2020-02-28 05:17:18
自从Java发布以来,基本数据类型就是Java语言的一部分,分别是byte, short, int, long, char, float, double, boolean. 其中: 整型:byte, short, int, long 字符型:char 浮点型:float, double 布尔型:boolean 来源: CSDN 作者: 天予不洗头 链接: https://blog.csdn.net/qq_44758351/article/details/104537204

Linux下exec函数族详解

筅森魡賤 提交于 2020-02-28 04:50:32
对于exec函数族来说,它的作用通俗来说就是使另一个可执行程序替换当前的进程,当我们在执行一个进程的过程中,通过exec函数使得另一个可执行程序A的数据段、代码段和堆栈段取代当前进程B的数据段、代码段和堆栈段,那么当前的进程就开始执行A中的内容,这一过程中不会创建新的进程,而且PID也没有改变。 一般exec函数族的用途有以下两种: 1. 当进程不需要再往下继续运行时,调用exec函数族中的函数让自己得以延续下去。 2. 如果当一个进程想执行另一个可执行程序时,可以使用fork函数先创建一个子进程,然后通过子进程来调用exec函数从而实 现可执行程序的功能。 通过man命令来看一下exec函数族: 首先exec并不是一个函数名,之所以叫函数族就说明它有很多个不同的函数,但是这些函数的功能是一样的,只不过参数不同使用的方式也略不相同。那么在man命令下看到的exec函数原型是这样的: #include <unistd.h> extern char **environ; int execl(const char *path, const char *arg, .../* (char *) NULL */); int execlp(const char *file, const char *arg, .../* (char *) NULL */); int execle(const

单片机 MSP430G2553 FLASH 操作

痴心易碎 提交于 2020-02-28 04:50:17
//FLASH操作 写入 void write_SegC ( char value [ ] , char lenChar ) { char * Flash_ptr ; // Flash pointer char i ; Flash_ptr = ( char * ) 0x1040 ; // Initialize Flash pointer FCTL1 = FWKEY + ERASE ; // Set Erase bit FCTL3 = FWKEY ; // Clear Lock bit * Flash_ptr = 0 ; // Dummy write to erase Flash segment FCTL1 = FWKEY + WRT ; // Set WRT bit for write operation for ( i = 0 ; i < lenChar ; i ++ ) { * Flash_ptr ++ = value [ i ] ; // Write value to flash } FCTL1 = FWKEY ; // Clear WRT bit FCTL3 = FWKEY + LOCK ; // Set LOCK bit } //FLASH操作 读取 void read_SegC ( char value [ ] , char lenChar ) { char *