字符串相关操作————笔试内容之字符串操作

字符串操作第一个问题~~~~~~字符串与整数之间的转换

字符串与整数之间的转换需要考虑的一些问题:

1、空字符串""和只有一个正好或者负号的情况应该都考虑到。如“ + ”后面没有东西

2、同时正整数的最大值是 0X7FFF FFFF,最小的负整数是0x8000 0000,因此需要分为两种情况来分别判断整数是否发生上溢和下溢。

下面是个关于字符串转换成整数的操作代码:

#include<stdio.h>
#include<stdlib.h>

enum Status {kValid=0,kInvalid};
int g_nStatus = kValid;//利用全局变量来记录反馈回来的整数是否有效

long long StrToIntCore(const char* digit, int minus){
	long long num =0;
	while(*digit != '\0'){//如果没有读到末尾则继续循环
		if(*digit >='0' && *digit <='9'){
			int flag = minus ? -1 : 1;
			num = num * 10 + flag*(*digit - '0');//对于多位的字符串的操作如“123”这种字符串如何换成整数的操作

			if((!minus && num > 0x7FFFFFFF) ||
				(minus && num <(signed int ) 0x80000000)){
					num = 0;
					break;//如果移除则退出循环
			}
			digit++;
		}else{
			num =0;//如果不是数字则反馈回来的数字为0
			break;//退出while循环
		}
	}
	if(*digit == '\0'){
		g_nStatus = kValid;
	}
	return num;
}
int StrToInt(const char *str){
	g_nStatus = kInvalid;
	int minus=0;
	long long num = 0;
	if(str != NULL && *str !='\0'){
		if(*str =='+'){
			str ++;
		}else if(*str=='-'){//如果是符号
			str ++;
			minus = 1;
		}
		//对于+ - 符号后面为空的时候也进行的处理
		if(*str !='\0'){
			num = StrToIntCore(str,minus);
		}
	}
	return (int)num;
}

int main(){
	char * p;
	p ="123567";
	int m = StrToInt(p);
	printf("%d",m);
	system("pause");
	return 0;

}
时间: 2024-12-22 00:45:45

字符串相关操作————笔试内容之字符串操作的相关文章

jQuery框架使用,jq选择器,jq操作页面内容, jq操作类名,jq操作全局属性,jq获取盒子信息,jq获取位置信息,js/jq页面加载完毕事件,jq事件

jq选择器 // 获取所有的页面元素jq对象 $('css3选择器语法'); var $box = $(".box:nth-child(1)"); 获取的是jq对象数组 // 拿到指定的页面元素jq对象 $('css3选择器语法').eq(index); var $box = $(".box").eq(1); 获取的是jq对象数组 // jq 转 js ( jq对像就是由数组包裹的js对象 ) box1 = $box[0] 从数组里取出来 box1 = $box.g

SQL写操作 设置内容 (数组转字符串)

SQL写操作 设置内容 (数组转字符串) SQL set内容 SQL操作数组转字符串 SQL写操作 set内容 (数组转字符串) [ 封装方法 ] function getSqlSet( $data ){ $Str = "";  foreach( $data as $k => $v ){  $Str.= $k."='".$v."',";  }  $Str = substr($Str,0,-1);  return $Str;  }  如执行i

字符串相关操作

字符串的操作多用用就行了. 在字符串相关操作中,进行字面值的处理需要用库函数,"="操作的是存储字符串的地址(基本类型). 1.C中字符串的赋值 2.C中字符串长度和大小比较 3.C中字符串拼接 4.C中字符串的拆分 4.C中字符串与其他类型转化 sprintf()->其他格式转成字符串  和 sscanf()->字符串转成其他格式; 几个小练习: 1.字符串中去掉重复的字母: int judge[52]={0}; string derepeat(string str){

python字符串相关操作

字符串搜索相关搜索指定字符串,没有返回-1:str.find('t')指定起始位置搜索:str.find('t',start)指定起始及结束位置搜索:str.find('t',start,end)从右边开始查找:str.rfind('t')搜索到多少个指定字符串:str.count('t')上面所有方法都可用index代替,不同的是使用index查找不到会抛异常,而find返回-1字符串判断相关是否以start开头:str.startswith('start')是否以end结尾:str.ends

字符串相关操作 相关方法

字符串基本特点 字符串的本质是:字符序列.Python的字符串是不可变的,我们无法对原字符串做任 何修改.但,可以将字符串的一部分复制到新创建的字符串,达到“看起来修改”的效果.Python不支持单字符类型,单字符也是作为一个字符串使用的. Python3直接支持 Unicode,可以表示世界上任何书面语言的字符.Python3的字符 默认就是 16位Unicode 编码,ASCII 码是Unicode 编码的子集. 使用内置函数 ord()可以把字符转换成对应的Unicode 码: 使用内置函

转自python的菜鸟教程---字符串相关操作

Python 字符串 字符串是 Python 中最常用的数据类型.我们可以使用引号来创建字符串. 创建字符串很简单,只要为变量分配一个值即可.例如: var1 = 'Hello World!' var2 = "Python Programming" Python访问字符串中的值 Python不支持单字符类型,单字符也在Python也是作为一个字符串使用. Python访问子字符串,可以使用方括号来截取字符串,如下实例: #!/usr/bin/python var1 = 'Hello W

python 字符串相关操作

1.字符串查找name = "today is a\t beautiful day" print(name.capitalize()) # 首字母大写 print(name.center(40,'-')) # 居中显示,不足的时候填充'-' print(name.count('a',4)) #统计某字符出现的次数 print(name.endswith('a')) #判断是否以给定的字符结尾 ,是返回True,否则返回False print(name.startswith('t'))

c# word操作篇,解决字符串长度超过255就不能替换的问题

本文使用的是Microsoft.Office.Interop.Word组件,必须在系统安装了office相关组件的条件下进行,在com里面找到Microsoft  Word 16.0 Object Library并引用. 问题:使用c#操作word替换占位符的时候,当要替换的字符串超过一定的长度,就会提示“字符串参量过长”,搜索发现,替换的最大长度为255字符. 以220个字符串为例,执行替换工作. //构造数据 Dictionary<string, string> datas = new D

Python_03_字符串_数据类型_for循环_列表操作

个人笔记,仅作学习记录,如有错误烦请指正 字符串: str1 = "这是一个字符串" str2 = '这也是一个字符串' 一般字符串都需要用双引号或单引号引起来 在Python中双引号和单引号是一样的,但必须成对出现 msg = "i'm liming" # 此处因为字符串中包含单引号,所以外边用双引号引起来表示字符串内容 msg = """收到消息"i'm liming".""" #