文档库 最新最全的文档下载
当前位置:文档库 › 字符液晶显示器C语言

字符液晶显示器C语言

字符液晶显示器C语言
字符液晶显示器C语言

字符液晶显示器C语言程序

#include

#include

#define uchar unsigned char

#define uint unsigned int

void charfill(uchar c);

void pustrxy(uchar cx,uchar cy,uchar code *s); void putstr(uchar code *s);

void putchar(uchar c);

uchar getchar(void);

void charlcdpos(void);

void charcursornext(void);

void lcdreset(void);

void delay3ms(void);

void lcdwc(uchar c);

void lcdwd(uchar d);

uchar lcdrd(void);

void lcdwaitidle(void);

uchar xdata LCDCRREG_at_0x8200;

uchar xdata LCDCWREG_at_0x8000;

uchar xdata LCDDRREG_at_0x8300;

uchar xdata LCDDWREG_at_0x8100;

uchar data CXPOS;

uchar data CYPOS;

void exdelay(void)

{

uchar i,j,k;

for(i=0;i<30;i++)

for(j=0;j<64;j++)

for(k=0;k<51;k++);

}

void main(void)

{

uchar i;

lcdreset();

charfill();

exdelay();

exdelay();

// putstrxy(6,0,"SMC2004A");

exdelay();

exdelay();

// putstrxy(1,1,"Changchun Institute");

exdelay();

exdelay();

// putstrxy(4,2,"of Technology");

exdelay();

exdelay();

// putstrxy(3,3,"https://www.wendangku.net/doc/b715109965.html,");

exdelay();

exdelay();

}

void charfill(uchar c)

{

for(CXPOS=CYPOS=0;1;)

{

putchar(c);

charcursornext();

if((CXPOS==0)&&(CYPOS==0)) break;

}

}

void putstrxy(uchar cx,uchar cy,uchar code *s) {

CXPOS=cx;

CYPOS=cy;

for(;*s!=0;s++)

{

putchar(*s);

charcursornext();

}

}

void putstr(uchar code *s)

{

for(;*s!=0;s++)

{

putchar(*s);

charcursornex();

}

}

void putchar(uchar c)

{

charlcdpos();

lcdwd(c);

}

uchar getchar(void)

{

charlcdpos();

return lcdrd();

}

void charlcdpos(void)

{

if(CXPOS>=20) CXPOS=0;

CYPOS&=0X03;

if(CYPOS==0)

lcdwc(CXPOS|0X80);

else if(CYPOS==1)

lcdwc(CYPOS|0XC0);

else if(CYPOS==2)

lcdwc((CXPOS+20)|0X80);

else

lcdwc((CXPOS+20)|0XC0); }

void charcursornext(void)

{

CXPOS++;

if(CXPOS>19)

{

CXPOS=0;

CYPOS++;

CYPOS&=0X30;

}

}

void lcdreset(void)

{

lcdwc(0x38);

delay3ms();

lcdwc(0x38);

delay3ms();

lcdwc(0x38);

delay3ms();

lcdwc(0x38);

delay3ms();

lcdwc(0x08);

lcdwc(0x01);

delay3ms();

lcdwc(0x06);

lcdwc(0x0c);

}

void delay3ms(void)

{

uchar i,j,k;

for(i=0;i<3;i++)

for(j=0;j<64;j++)

for(k=0;k<51;k++);

}

void lcdwc(uchar c)

{

lcdwaitidle();

// LCDCWREG=c;

}

void lcdwd(uchar d)

{

lcdwaitidle();

// LCDDWREG=d;

}

uchar lcdrd(void)

{

// uchar d;

lcdwaitidle();

// return LCDDRREG;

}

void lcdwaitidle(void)

{

uchar i;

for(i=0;i<20;i++)

// if((LCDCRREG&0X80)==0) break;

}

C#判断字符串是否为数字字符串

C#判断字符串是否为数字字符串 在进行C#编程时候,有的时候我们需要判断一个字符串是否是数字字符串,我们可以通过以下两种方法来实现。 【方法一】:使用try{} catch{}语句。 我们可以在try语句块中试图将string类型的字符串变量转换为int类型,如果该字符串不是数字字符串则会抛出异常,这时在catch语句块中就能捕获异常。一旦发现异常,则不是数字字符串。 我们可以以下三种方式将string类型转换为int类型。 (1)int.Parse(string); (2)Convert.ToInt16(string);//当数字字符串的位数大于4的时候请使用Convert.ToInt32() (3)Convert.ToInt32(string); 添加一个文本框TextBox1,和一个按钮Button1,当点击按钮时,判断文本框中的内容是否为数字字符串,是的话则输出转换后的数值。 protected void Button1_Click(object sender, EventArgs e) { string message = TextBox1.Text.Trim(); int result; if(isNumberic(message,out result)) { string tt=""; Page.ClientScript.RegisterStartupScript(this.GetType(), "", tt); } else

Page.ClientScript.RegisterStartupScript(this.GetType(), "", ""); } protected bool isNumberic(string message,out int result) { //判断是否为整数字符串 //是的话则将其转换为数字并将其设为out类型的输出值、返回true, 否则为false result = -1; //result 定义为out用来输出值 try { //当数字字符串的为是少于4时,以下三种都可以转换,任选一种 //如果位数超过4的话,请选用Convert.ToInt32() 和int.Parse() //result = int.Parse(message); //result = Convert.ToInt16(message); result = Convert.ToInt32(message); return true; } catch { return false; } }

C语言课程设计报告---字符串处理

课程设计报告 课程设计题目:研究生初试录取 学生:俊 专业:计算机应用技术 班级: 1140302 指导教师:宋文琳 2012年 06 月 23日

目录 一)实验题目 (3) 二)实验目的 (3) 三)实验要求 (3) 四)实验思路 (4) 五)实验过程 (6) 六)实验调试和结果 (9) 七)实验小结 (13)

实验题目 字符串处理 (1)不使用系统库函数,编写多个函数实现; (2)定义字符数组存放字符串,从键盘输入; (3)调用不同的函数,实现字符串的连接、拷贝、比较、求字符串长度、对字符串字符进行排序、查找字符串中某个字符是否存在; (4)分别输出以上字符串处理的结果。 二)实验目的 本次课程设计的主要目的是综合运用所学的C语言知识解决一个比较实际的简单问题,侧重对数组、函数、指针、结构体等相关容的综合应用,使学生能进一步熟悉掌握C语言的基本语法,进一步提升编程能力并逐步培养编程思维,进而不断提高学生解决问题的能力,并为以后的语言学习打下良好的基础。三)实验要求 1. 学生独立完成课程设计的主要容; 2. 按照实验课表安排进行,不得无故旷课; 3.按照选题规则确定课程设计题目,不可随意更换,但可在完成规定的任务之后,根据 个人兴趣选做其它题目; 4.严格按照报告格式撰写课程设计报告; 5.程序实现方式可以自选,可采用指针、数组或其任意组合方式完成。

四)实验思路1)整体思路

五)实验过程 代码: #include void main() {void lianjie(char a[],char b[]); void kaobei(char a[],char b[]); void bijiao(char a[],char b[]); void qiuchangdu(char a[],char b[]); void paixu(char a[],char b[]); void chazhao(char a[],char b[],char c); char str1[50],str2[40]; char t; int i; printf("需要进行的操作:1.连接;2.拷贝;3.比较;4.求长度;5.排序;6.查找\n"); scanf("%d",&i); if(i==1) {printf("要连接的字符串1:"); scanf("%s",str1); printf("要连接的字符串2:"); scanf("%s",str2); lianjie(str1,str2);} else if(i==2) {printf("拷贝的字符串1:"); scanf("%s",str1); printf("要拷贝的字符串2:"); scanf("%s",str2); kaobei(str1,str2);} else if(i==3)

如何提取Oracle库表记录中的中文字符

如何提取Oracle库表记录中的中文字符 今日头条没事儿唠唠IT 2016-12-01 00:17 在最近做的一个项目中,需要将数据库表中的中文字符提取出来,以供业务人员二次处理。网上搜索一番后,采用Oracle数据库的ASCII函数解决问题。主要思路整理如下: 由于中文字符的ASCII码范围为45217至63486之间,因此可以此为切入点对目标字符串进行判断截取。编写函数如下: create or replace function getCNStr(str varchar2) return varchar2 is tmpStr varchar2(100); --临时变量 currentStr varchar2(10); --当前待判断处理的字符 asciiCode number; --当前待怕短处理字符的Ascii码 counts number; --字符串中的字符个数 i_loop number := 1; --循环变量 resultStr varchar2(200); --返回的结果字符串 begin --取出待处理字符串的长度(counts) select length(str) into counts from dual; --根据待处理字符串长度(counts),逐个字符判断处理

while i_loop <= counts loop currentStr := substr(str, i_loop, 1); select ASCII(currentStr) into asciiCode from dual; if asciiCode >= 45217 then tmpStr := tmpStr || currentStr; end if; if asciiCode <= 45216 then --非连续的中文字符串之间以空格隔开 tmpStr := tmpStr || ' '; end if; i_loop := i_loop + 1; end loop; resultStr := tmpStr; return(resultStr); end getCNStr; 至此,函数编写完成,编译后测试如下图: 有图有真相(哈哈)

C语言函数大全

C语言函数大全 1 字符测试函数 函数(及意义)函数分解Isalnum(){判断字符是否is alphbet(字母表) number(数字) 为字母或数字} Isalpha(){判断是否为英文is alphbet(字母表) 字母} Isblank(){空格和TAB} is blank(空格) Iscntrl() { 控制} is control(控制) Isdigit(){数字} is digit(数字) Isgraph(){除空格外的可打is graph(图表) 印字符} Islower(){是否为小写} is lowercase(小写) Isprintf(){可打印字符含空这个简单 字符} Ispunct(){标点或特殊符号is punctuation(标点) } Isspace(){检查是否为空字is space(空间) 符,即判断是否为空格,水平 定位字符“\t”,归位字符“\r ”,垂直定位字符“\v”,换行 字符“\n”,翻页“\f”} Isupper(){是否为大写字母is upper_case(大写) } Isxdigit(){十六进制} is hexadecimal digit(十六进制) Tolower(){将小写转换成 大写} Toupper(){将大写转换成这个简单(to change 或者to covert 或者 小写} transformation

字符串函数 Memchr(){在某一内存范围内查找一特定字符}Memory (储存)char(字符型炭)也可以是character (字符) Memcmp(){比较区域 str1,str2的前n个字节} Memory(同理)compare(比较) Memcpy(){由str2所指内存区域复 制n个字节到str1所指内存区域} Memory copy(复制) Memmove(){两个所指的内存区域 可重叠,但是内容会更改,函数 返回值为指向区域内存的指针} Memory move(移动) Memset(){把str所指的内存区域 的前N个字节设置成字符c} Set(设置)

C语言中处理字符串的各种自定义函数(精)

C 语言中处理字符串的各种自定义函数 关于 strcpy,strcmp,strcat,strlen 的自定义函数,它是为了避免调用库函数对代码兼容的局限性。要注意如下一些问题: 1. 检查输入的两个指针是否有效; 2. 检查两个字符串是否以 NULL 结尾; 3. 检查目标指针的空间是否大于等于原字符串的空间。 一. strcpy 自定义 char * sef_strcpy(char *str1,char *str2 { If( (NULL==str1||(NULL==str2 { printf(“ invalid argument(s” ; return; } char *strcopy=str1; while(… \0? != *str1++=*str2++ ; *str1=? \0? ; return strcopy;

} 二. strcmp 的自定义 int sef_strcpy(char *str1,char *str2 { If( (NULL==str1||(NULL==str2 { printf(“ 输入参数错误,值为 NULL ! \n” ; return -1; } while(*str1&&*str2&&( *str1++==*str2++ ; return str1-str2; } 三. strcat 的自定义 char * sef_strcat(char *str1,char *str2 { If( (NULL==str1||(NULL==str2 { printf(“ 输入参数错误! ” ;

return; } char *strcopy=str1; while(… \0? !=*str1 {str++;} while(… \0? != (*str1++=*str2++ ; *str1=? \0? ; return strcopy; } 四. strlen 的自定义函数 int sef_strlen(char *str { if(NULL==str { printf(“ 输入参数错误,值为NULL ! ” ; char *p=str; while(… \0? !=*str++ ; return str-p-1;

判断字符串是否是中文

判断字符串是否是中文 Unicode CJK 的范围分布在多个区段中,带有CJK 的区块名中都拥有汉字。但最常用的范围是U+4E00~U+9FA5,即名为:CJK Unified Ideographs 的区块,但U+9FA6~U+9FFF 之间的字符还属于空码,暂时还未定义,但不能保证以后不会被定义。 在正则表达式中使用[\u4e00-\u9fa5] 这种方式属于写死的代码,并不能根据平台所提供的字符集范围不同而改变,不过对于要求不是很高的话的是可以了。如果对字符集的要求很高,可以采用下面的这种Unicode 块的方式: String regex = "[\\p{InCJK Unified Ideographs}&&\\P{Cn}]]"; 在当前的JDK 版中与[\u4e00-\u9fa5] 的意义一致。但这样可以匹配Java 平台所支持Unicode 块名为CJK Unified Ideogrpahs 中已定义的字符,这种方式就属于“活”代码今后的JDK 版本升级了,定义到了\u9fa6 的字符,同样能够满足匹配。 public static void RecognizeChinese(String str) { int count = 0; String regex = "[\\p{InCJK Unified Ideographs}&&\\P{Cn}]]"; Pattern p = https://www.wendangku.net/doc/b715109965.html,pile(regEx); Matcher m = p.matcher(str); while (m.find()) { for (int i = 0; i <= m.groupCount(); i++) { count = count + 1; } } System.out.println("共有" + count + "个"); } 方法一: 在unicode 字符串中,中文的范围是在4E00..9FFF:CJK Unified Ideographs。 通过对字符的unicode编码进行判断来确定字符是否为中文。 protected bool IsChineseLetter(string input,int index) { int code = 0; int chfrom = Convert.ToInt32("4e00", 16); //范围(0x4e00~0x9fff)转换成int (chfrom~chend) int chend = Convert.ToInt32("9fff", 16); if (input != "") { code = Char.ConvertToUtf32(input, index); //获得字符串input中指定索引

中文字符集

最近一直被这个字符集问题,弄的头疼。想不到一个很好的办法去解决。问题是这样的:“在超链接中传递参数的时候总是出现乱码”在Action中用debug查的时候就是乱码,在Tomcat 中把Service.xml将字符集改成UTF-8,GBK,GB2312都试过了,仍然没有解决这个问题。很是郁闷!~~~ 在现实工作中我们会经常遇到字符转换的问题:有的时候还会出现乱码.因为工作需要我从别人的静态网页上抓取数据.用到的方法是传一个uri进去,然后取出你所想得到的字符串.代码如下: public static String getData(String url1) throws Exception { String result = ""; URL url = new URL(url1); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setDoOutput(true); PrintWriter out = new PrintWriter(connection.getOutputStream()); out.close(); BufferedReader in = new BufferedReader(new InputStreamReader(connection. getInputStream(),"UTF-8")); //特别注意这里,后面的编码格式,一般都是用UTF-8,因为这是通用的.如果用汉字可以用GBK.不要用gb2312.因为它是GBK的子集. String line; while ( (line = in.readLine()) != null) { result = result + "\n" + line; } in.close(); String html =replaceFunc2(replaceFunc2(result,""); return html; } public static String replaceFunc2(String str_source, String str_start,String str_end) { String info = "", rep_str = "", rep_str2 = ""; int startFlag = 0, endFlag = 0; startFlag = str_source.indexOf(str_start); endFlag = str_source.indexOf(str_end); info = str_source; if (startFlag >= 0 && endFlag >= 0 && startFlag < endFlag) { rep_str = info.substring(0, startFlag); rep_str2 = info.substring(endFlag + str_end.length()); info = rep_str + rep_str2; } // System.out.print("==========="+info+"=========="); return info; }

C语言32个字符的定义

C语言32个字符的定义 2009-03-01 21:49 auto :声明自动变量一般不使用 double :声明双精度变量或函数 int:声明整型变量或函数 struct:声明结构体变量或函数 break:跳出当前循环 else :条件语句否定分支(与 if 连用) long :声明长整型变量或函数 switch :用于开关语句 case:开关语句分支 enum :声明枚举类型 register:声明积存器变量 typedef:用以给数据类型取别名(当然还有其他作用) char :声明字符型变量或函数 extern:声明变量是在其他文件正声明(也可以看做是引用变量) return :子程序返回语句(可以带参数,也看不带参数) union:声明联合数据类型 const :声明只读变量 float:声明浮点型变量或函数 short :声明短整型变量或函数 unsigned:声明无符号类型变量或函数 continue:结束当前循环,开始下一轮循环 for:一种循环语句(可意会不可言传) signed:生命有符号类型变量或函数 void :声明函数无返回值或无参数,声明无类型指针(基本上就这三个作用)default:开关语句中的“其他”分支 goto:无条件跳转语句 sizeof:计算数据类型长度 volatile:说明变量在程序执行中可被隐含地改变 do :循环语句的循环体 while :循环语句的循环条件 static :声明静态变量 if:条件语句

转义字符的定义 SqlServer中Sql语句的转义字符的使用(Escape charator) WHERE ProductName LIKE '[2005]%' 如果这样,他就找第一个字符是2,0,5之中的任何一个,而实际上不是这样的 这个时候就应该用转义,ESCAPE 关键字 WHERE ProductName LIKE '/[2005/]%' ESCAPE '/' /后边的都不是通配符了,而是一个字符。 like '%50/%%' ESCAPE '/' % _ [] [^] NOT LIKE '415%' 二、VBScript 转义字符(Escape Character) 目前我所知道的VBScript需要的转义字符就只有一个“"”(西文双引号)。在字符串中如果需要输入“"”,会和程序中的“"”混淆。因此我们在字符串内遇到要用“"”时一般用“""”(两个西文双引号)或“'”(一个西文单引号)替换。^AF 我们的第一个VBScript做的是一个E-Mail地址,我们现在用HTML语法让它带有链接。 一、VBScript 常量(Constant)

使用正则表达式判断如果电话输入了,则输入的电话号码必须为数字

/*使用正则表达式判断如果电话输入了,则输入的电话号码必须为数字*/ var con = document.getElementById('tel').value; var tel =/[^0-9]; var zip=document.getElementById('zip').value; https://www.wendangku.net/doc/b715109965.html,pile(/^[0-9]{6}$/); if(tel.test(con)){ document.getElementById('show5').innerText='输入的电话号码必须为数字'; return false; } if(!re.test(trim(zip))){ document.getElementById('show7').innerText='*邮编格式不正确'; return false; } */ 2. 只能是汉字: ﹤input onkeyup="value="/oblog/value.replace(/[^\u4E00-\u9FA5]/g,'')"﹥ 3.只能是英文: ﹤script language=java script ﹥function onlyEng(){if(!(event.keyCode﹥=65&&event.keyCode﹤=90))event.returnvalue=false;}﹤/ script ﹥﹤input onkeydown="onlyEng();"﹥

4. 只能是数字: ﹤script language=java script ﹥function onlyNum(){if(!((event.keyCode﹥=48&&event.keyCode﹤=57)||(event.keyCode﹥=96&&event.keyCode﹤=105)))//考虑小键盘上的数字键event.returnvalue=false;}﹤/ script ﹥﹤input onkeydown="onlyNum();"﹥ . 只能是英文字符和数字: ﹤input onkeyup="value="/oblog/value.replace(/[\W]/g,"'')"onbeforepaste="clipboardData.s etData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"﹥ 6. 验证邮箱格式: ﹤script LANGUAGE=java script RUNAT=Server﹥function isEmail(strEmail) {if (strEmail.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Z a-z0-9]+$/) != -1)return true;elsealert("oh");}﹤/ script ﹥﹤input type=text onblur=isEmail(this.value)﹥ ﹤script LANGUAGE=java script RUNAT=Server﹥function isEmail(strEmail) {if (strEmail.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Z a-z0-9]+$/) != -1)return true;elsealert("oh");}﹤/ script ﹥﹤input type=text onblur=isEmail(this.value)﹥ 7. 屏蔽关键字(这里屏蔽***和****): ﹤ script language="java script 1.2"﹥function test() {if((a.b.value.indexOf ("***") == 0)||(a.b.value.indexOf ("****") == 0)){alert(":)");a.b.focus();return false;}}﹤/ script ﹥﹤form name=a onsubmit="return test()"﹥﹤input type=text name=b﹥﹤

C语言字符串操作总结大全(超详细)

C语言字符串操作总结大全(超详细) 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 显式设置转换的整型进制,设置为0 以根据特定格式判断所用进制,0x, 0X 前缀以解释为十六进制格式整型,0 前缀以解释为八进制格式整型 atoi(p) 字符串转换到int 整型 atof(p) 字符串转换到double 符点数 atol(p) 字符串转换到long 整型 3)字符检查 isalpha() 检查是否为字母字符 isupper() 检查是否为大写字母字符 islower() 检查是否为小写字母字符 isdigit() 检查是否为数字 isxdigit() 检查是否为十六进制数字表示的有效字符 isspace() 检查是否为空格类型字符 iscntrl() 检查是否为控制字符 ispunct() 检查是否为标点符号 isalnum() 检查是否为字母和数字 isprint() 检查是否是可打印字符 isgraph() 检查是否是图形字符,等效于isalnum() | ispunct()

使用VBA判断单元格各字符是否为中文、英文、数字、符号的复杂代码

Function IsLike(strText As String, pattern As String) As Boolean IsLike = strText Like pattern End Function Function IsChinese(strText As String) As Boolean Dim i%, h$ h = Hex(Asc(strText)) If Asc(Left(h, 1)) >= 66 And Asc(Left(h, 1)) <= 70 Then IsChinese = True End If End Function Function StringType(strText As String, Optional outPutType As Integer = 1, Optional sumVar As Boolean = False) As Variant Dim strtemp As String, blnArray(1 To 5) As String, strPreType As Integer Dim intNum As Integer, startPos As Integer, intlen As Integer Dim strArray As Variant, strCompare1 As String, strCompare2 As String, dblSum As Double If sumVar = True And Not (outPutType <> 2 Or outPutType <> 4) Then sumVar = False For i = 1 To Len(strText) strtemp = Mid(strText, i, 1) If i > 1 Then strCompare1 = WorksheetFunction.Asc(Mid(strText, i - 1, 3)) strCompare2 = WorksheetFunction.Asc(Mid(strText, i, 2)) If WorksheetFunction.Dbcs(strtemp) = strtemp Then strtemp = WorksheetFunction.Asc(strtemp) If IsLike(strtemp, "[0-9]") Or IsLike(strCompare1, "[0-9].[0-9]") Or IsLike(strCompare2, "-[0-9]") Then If strPreType = 4 Then blnArray(4) = Left(blnArray(4), Len(blnArray(4)) - 1) & intNum Else intNum = 1 blnArray(4) = blnArray(4) & "- " & i & "/" & intNum End If strPreType = 4 intNum = intNum + 1 ElseIf IsLike(strtemp, "[a-zA-Z]") Then If strPreType = 5 Then blnArray(5) = Left(blnArray(5), Len(blnArray(5)) - 1) & intNum Else intNum = 1 blnArray(5) = blnArray(5) & "- " & i & "/" & intNum End If strPreType = 5 intNum = intNum + 1 ElseIf IsChinese(strtemp) Then If strPreType = 1 Then blnArray(1) = Left(blnArray(1), Len(blnArray(1)) - 1) & intNum

Linux下常用C语言字符串操作函数

Linux下常用C语言字符串操作函数 stroul, strdup snprintf() atio C中常用字符串操作函数 #include size_t strlen(const char *s) 测量字符串长度s的实际长度。 例如s[20]="abc",那么strlen(s)的结果是3,而不是20.这就是实际长度 char *strcat(const char *s1, const *s2) 将字符串s2连接到s1的尾部。从s1的\0开始。 int strcmp(const *s1,const *s2) 比较s1和s2。 s1 = s2的时候返回值=0 s1 < s2的时候返回至<0 s1 > s2的时候返回值>0 char *strchr(const char *s, char c); 返回s中首次出现C的位置的指针。如果s中不存在c则返回NULL char *strrchr(const char *s, char c );返回s中最后一次出现c的位置的指针。如果没有,则返回0 char *strstr(const char *haystack, const char *needle);返回haystack中needle字符串首次出现的位置的指针(不比较结束符NULL)。若果没找到则返回NULL 限定长度的比较,拷贝和追加函数 int strncmp(char *s1, const char *s2, size_t n);(这些都是针对字符串的前n个字符来操作的) char *strncpy(char *dest, const char *src, size_t n); char *strncat(char *dest, const char *src, size_t n); char *strdup(char *s)返回指向被复制的字符串的指针,所需空间由malloc()分配而且需要free释放空间 int atoi(const char *nptr);将字符串转换成整型数

C# 判断中文字符的方法

方法一 在unicode字符串中,中文的范围是在4E00..9FFF:CJK Unified Ideographs。 通过对字符的unicode编码进行判断来确定字符是否为中文。 protected bool IsChineseLetter(string input,int index) { int code = 0; intchfrom = Convert.ToInt32("4e00", 16); //范围(0x4e00~0x9fff)转换成int(chfrom~chend) intchend = Convert.ToInt32("9fff", 16); if (input != "") { code = Char.ConvertToUtf32(input, index); //获得字符串input中指定索引index处字符unicode编码 if (code >= chfrom&& code <= chend) { return true; //当code在中文范围内返回true } else { return false ; //当code不在中文范围内返回false } } return false; } 方法二: public bool IsChina(string CString) { boolBoolValue = false; for (inti = 0; i

C语言函数大全

功能: 异常终止一个进程 用法: void abort(void) 函数名: abs 功能: 求整数的绝对值 用法: int abs(int i) 函数名: absread, abswirte 功能: 绝对磁盘扇区读、写数据 用法: int absread(int drive, int nsects, int sectno, void *buffer) int abswrite(int drive, int nsects, in tsectno, void *buffer 函数名: access 功能: 确定文件的访问权限 用法: int access(const char *filename, int amode) 函数名: acos 功能:反余弦函数 用法: double acos(double x) 函数名: allocmem 功能: 分配DOS存储段 用法:int allocmem(unsigned size, unsigned *seg) 函数名: arc 功能: 画一弧线 用法:void far arc(int x, int y, int stangle, int endangle, int radius)函数名: asctime 功能: 转换日期和时间为ASCII码 用法:char *asctime(const struct tm *tblock) 函数名: asin 功能:反正弦函数 用法: double asin(double x) 函数名: assert 功能: 测试一个条件并可能使程序终止 用法:void assert(int test) 函数名: atan 功能: 反正切函数 用法: double atan(double x)

使用VBA判断单元格各字符是否为中文、英文、数字、符号的复杂代码

使用VBA判断单元格各字符是否为中文、英文、数字、符 号的复杂代码 Function IsLike(strText As String, pattern As String) As Boolean IsLike = strText Like pattern End Function Function IsChinese(strText As String) As Boolean Dim i%, h$ h = Hex(Asc(strText)) If Asc(Left(h, 1)) >= 66 And Asc(Left(h, 1)) <= 70 Then IsChinese = True End If End Function Function StringType(strText As String, Optional outPutType As Integer = 1, Optional sumVar As Boolean = False) As Variant Dim strtemp As String, blnArray(1 To 5) As String, strPreType As Integer Dim intNum As Integer, startPos As Integer, intlen As Integer Dim strArray As Variant, strCompare1 As String, strCompare2 As String, dblSum As Double If sumVar = True And Not (outPutType <> 2 Or outPutType <> 4) Then sumVar = False For i = 1 To Len(strText) strtemp = Mid(strText, i, 1) If i > 1 Then strCompare1 = WorksheetFunction.Asc(Mid(strText, i - 1, 3))

在mysql数据库中传入中文字符,并实现正常显示

在mysql中输入中文应做的正确操作 1.在安装mysql后要将C:\Program Files\MySQL\MySQL Server 5.5中的my.ini文件中的两个default-character-set的值设为default-character-set=gbk 2.在创建mysql数据库时要进行如下创建 GBK: create database test2 DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci; UTF8: CREATE DATABASE `test2` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; 数据库中的语名如下 CREATE DATABASE `zhuce` /*!40100 DEFAULT CHARACTER SET gbk */; CREATE TABLE `tb_user` ( `Id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(45) CHARACTER SET gbk DEFAULT NULL COMMENT '用户名', `password` varchar(45) CHARACTER SET gbk DEFAULT NULL COMMENT '密码', `sex` varchar(45) CHARACTER SET gbk DEFAULT NULL COMMENT '性别', `question` varchar(45) CHARACTER SET gbk DEFAULT NULL COMMENT '密码问题', `answer` varchar(45) CHARACTER SET gbk DEFAULT NULL COMMENT '密码答案', `email` varchar(45) CHARACTER SET gbk DEFAULT NULL COMMENT '邮箱', PRIMARY KEY (`Id`) ) ENGINE=InnoDB DEFAULT CHARSET=gbk; 2.创建字符编码servlet CharacterEncodingFilter package admin.jichupeizhi.zifu; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; /** * 字符编码过滤器 * @author Li Zhong Wei */ public class CharacterEncodingFilter implements Filter{ // 字符编码(初始化参数) protected String encoding = null; // FilterConfig对象

相关文档
相关文档 最新文档