首先要保证字符数组或字符串中的数据是数字,这样才能转换。

检测字符数组或字符串中是否为数字的方法:

遍历字符数组或字符串,检测是否有非数字字符,若有则无法转换,若没有则可以进行转换。

将字符数组或字符串转换为数字的方法:

定义一个int型变量,初始化为0;

然后遍历字符数组或字符串,每遍历一个字符,将其与乘10后的int变量相加(x  = x *10 + (str[i] - 48));//由于字符存储形式是按ASCLL码存储的,所以要减48(代表字符"0",数字0的ASCLL码为48)

最终得到转换好的int型变量。

C语言  字符数组和字符串

#include <iostream>
#include <cstring>
using namespace std;int str_to_int(char * str);///将字符数组中的字符转换为整型变量的数字int main()
{char str[10] = "1234";cout << str << endl;int y = str_to_int(str);cout << y << endl;return 0;
}int str_to_int(char * str)
{///将字符数组中的字符转换为整型变量的数字int y = 0;cout << "str的长度为:" << strlen(str) << endl;cout << "将strlen的返回值强制转换为int后的长度为" << (int)strlen(str) << endl;cout << str[0] << endl;for(int i = 0; i < (int)strlen(str); i++)///把强制转换去掉会发现提示warning///strlen返回值是无符号数,无法直接和int(有符号数)比较,无符号数可以转换为有符号数{y = y * 10 + (str[i] - 48);///此处要减48(ASCLL码中48为数字0)}                             ///字符串存储的是ASCLL码return y;
}

字符数组获取字符串长度用 strlen()函数

C++ string对象

#include <iostream>
#include <cstring>
#include <string>
using namespace std;int string_to_int(string str);///将string变量转换为整型变量的数字int main()
{string str = "1234";cout << str << endl;int y;y = string_to_int(str);cout << y << endl;return 0;
}
int string_to_int(string str)
{///将字符数组中的字符转换为整型变量的数字int y = 0;cout << "str的长度为:" << str.length() << endl;cout << "将length()的返回值强制转换为int后的长度为:" << (int)str.length() << endl;cout << str[0] << endl;///直接输出是字符形式,但是它存储的是ASCLL码for(int i = 0; i < (int)str.length(); i++)///把强制转换去掉会发现提示warning///length()返回值是无符号数,无法直接和int(有符号数)比较,无符号数可以转换为有符号数{y = y * 10 + (str[i] - 48);///此处要减48(ASCLL码中48为数字0)}                             ///字符串存储的是ASCLL码return y;
}

string对象获取字符串长度用 length()函数

将字符数组中的字符转换为整型变量的数字 将字符串转换为数字相关推荐

  1. 将字符数组中的字符按从小到大的顺序排序

    <程序设计基础实训指导教程-c语言> ISBN 978-7-03-032846-5 p143 7.1.2 上级实训内容 [实训内容10]编写一个函数,要求用字符数组名作为参数,函数功能是将 ...

  2. C语言-输入任意多个数字,存到整型数组,支持任意间隔符,同时支持输入字母存到字符数组中

    第一次在CSDN上写博客- 记录一下想了有那么久的,这串代码 起因是做应用密码学的作业时,有Vigenere密码的加密解密.仿射密码加密解密.Playfair算法.Hill密码 因为数据量比较大,要把 ...

  3. 将字符数组中存放的数字字符转换为数

    字符数组里保存的是字符'0'-'9',其对应的ADCII码是48-57. 特别注意:用字符数组作加减运算时,是ASCII码在加减.例如 char s1[3]={'4','5','2'},s2[4]={ ...

  4. MATLAB删除字符数组中空格元素

    MATLAB删除字符数组中空格元素 在编写Huffman信道编码时遇到的问题,字符型数组中有空格元素,删除空格元素并转换为数字数组. 关键是这两句,-16是空格键的ascii码减去'0'的ascii码 ...

  5. C语言试题四十六之将m行n列的二维数组中的字符数据,按列的顺序依次放到一个字符串中。

    1. 题目 请编写一个函数function,它的功能是:将m行n列的二维数组中的字符数据,按列的顺序依次放到一个字符串中. 2 .温馨提示 C语言试题汇总里可用于计算机二级C语言笔试.机试.研究生复试 ...

  6. LeetCode 5380. 数组中的字符串匹配

    5380. 数组中的字符串匹配 python 字符串长度排序 class Solution:def stringMatching(self, words: List[str]) -> List[ ...

  7. 例13.14 将一组数据保存在字符数组中。

    例13.14 将一组数据保存在字符数组中. 法一: #include<iostream> #include<sstream>//这是最新的头文件 #include<cst ...

  8. 如何在字符数组中存储空白字符

    C没有为字符串定义专门的数据类型,而是把它存储在字符数组中,虽然这种方法可以有效地解决字符串存储问题,但当使用scanf函数为字符数组赋值时,含有空白符(空格.制表符.换行符)的字符串却无法完整储存. ...

  9. leetcode:1408. 数组中的字符串匹配

    题目:1408. 数组中的字符串匹配 题目内容 给你一个字符串数组 words ,数组中的每个字符串都可以看作是一个单词.请你按 任意 顺序返回 words 中是其他单词的子字符串的所有单词. 如果你 ...

最新文章

  1. Intel发布FPGA
  2. Xamarin Anroid App访问网站失败
  3. 002_模板 + 数据模型 = 输出
  4. 类与类之间关系,用C#和JavaScript体现
  5. 使用Akka处理1000万条消息
  6. this.$modal.confirm 自定义按钮关闭_自定义函数,让你玩转Excel得心应手
  7. 【转】WebApi 身份认证解决方案:Basic基础认证
  8. ROS笔记(12) Rviz
  9. 48. 减少 DNS 查找(9)
  10. matlab语言与应用 10 数学问题的非传统解法
  11. C# Aspose.Word 操作word文档【一】
  12. 远程工具TeamViewer
  13. 炫酷的后台管理系统UI界面
  14. windows7交互式服务检测如何禁用?
  15. Data (Privacy) Regulation 数据隐私法规整理
  16. P4169 [Violet]天使玩偶/SJY摆棋子 [CDQ分治]
  17. 算法竞赛中的JAVA使用笔记(转载)
  18. qsv如何转换成AVI flv格式 ,最新转换方法
  19. 1.2配置通过Telnet登录系统
  20. kali工具熟悉——网络扫描

热门文章

  1. 自动网页签到 html,HTML5实现签到 功能
  2. 基于matlab的qpsk与bpsk信号性能比较仿真,基于matlab的QPSK与BPSK信号性能比较仿真.doc...
  3. 齐鲁医药学院计算机考试,齐鲁医药学院2020年单独招生和综合评价招生考试时间及考试科目...
  4. 计算机参数rp是什么,什么是RP
  5. 活性染料研究:Lumiprobe AF594 NHS 酯,5-异构体
  6. 谈论 ModSecurity 和新的 Coraza WAF
  7. 【电力电子技术AC-DC】电容滤波的单相不可控整流电路simulink仿真
  8. 10分钟从零搭建QQ机器人,实现自动回复、推送等功能
  9. ICC2:Design Planning(01)initial_DP
  10. js 模拟短信发送 JavaScript