C++ 读取字符串中的数字
今天真是试了各种方法,笨方法聪明方法都有了
方法1:一个字符一个字符的读取
方法2:借助strtok实现split 适用于char
方法3:借助istringstream实现split 适用于string
// 方法1:一个字符一个字符读取
#include <iostream>
#include <string>
#include <fstream>
#include <stdlib.h>
using namespace std;
int main()
{
ifstream fin("data.txt");
if(! fin.is_open())
{
cout<<);
}
char str;
];
;num[i] = ;
bool IsNegative = false;
while(!fin.eof()){
fin.read(&str,);
if(str == ' '){
if(IsNegative) num[i] = -num[i];
printf("%d ",num[i]);
i += ;num[i] = ;
IsNegative = false;
}
else if(str == '\0' || str == '\n'){
if(IsNegative) num[i] = -num[i];
printf("%d ",num[i]);
i += ;num[i] = ;
break;
}
else if(str == '-'){
IsNegative = true;
}
else{
num[i] = num[i]* + (str-');
}
}
;
}
//方法2:借助strtok实现split 适用于char
#include <iostream>
#include <string>
#include <fstream>
#include <string.h>
#include <stdio.h>
using namespace std;
int ReadNum(char *str){
;
;
] == '-'){
i += ;
}
while(str[i]){
num = (str[i]-;
i += ;
}
] == '-'){
num = -num;
}
return num;
}
int main()
{
ifstream fin("data.txt");
if(! fin.is_open())
{
cout<<);
}
];
];;
fin.getline(s,);
const char *d = " ";
char *p;
p = strtok(s,d);
while(p)
{
num[i] = ReadNum(p);
printf("%d ",num[i]);
i+=;
p=strtok(NULL,d);
}
;
}
//方法3:借助istringstream实现split 适用于string
#include <iostream>
#include <string>
#include <sstream>
#include <fstream>
using namespace std ;
int ReadNum(string str){
;
;
] == '-'){
i += ;
}
while(str[i]){
num = (str[i]-;
i += ;
}
] == '-'){
num = -num;
}
return num;
}
int main(){
ifstream fin("data.txt");
if(! fin.is_open())
{
cout<<);
}
string str;
getline(fin, str);
string sTmp;
istringstream istr(str);
];;
while(!istr.eof()){
istr >> sTmp; //get a word
num[i] = ReadNum(sTmp);
printf("%d ", num[i]);
i += ;
}
;
}
C++ 读取字符串中的数字的更多相关文章
- java 判断一个字符串中的数字:是否为数字、是否包含数字、截取数字
题外话: JavaScript中判断一个字符是否为数字,用函数:isDigit(); 一.判断一个字符串是否都为数字 package com.cmc.util; import java.util.re ...
- 写出将字符串中的数字转换为整型的方法,如:“as31d2v”->312,并写出相应的单元测试,正则去掉非数值、小数点及正负号外的字符串
写出将字符串中的数字转换为整型的方法,如:"as31d2v"->312,并写出相应的单元测试,输入超过int范围时提示不合法输入. public struct Convert ...
- SQL Server 2008 R2——创建函数 筛选出字符串中的数字 筛选出字符串中的非数字
=================================版权声明================================= 版权声明:本文为博主原创文章 未经许可不得转载 请通过右 ...
- Excel中如何提取字符串中的数字
取字符串中的数字,假如数据在A列,提取公式为 =LOOKUP(9^9,--MID(A1,MIN(FIND({1,2,3,4,5,6,7,8,9,0},A1&5^19)),ROW($1:$99) ...
- C# 使用正则表达式去掉字符串中的数字,或者去掉字符串中的非数字
/// 去掉字符串中的数字 public static string RemoveNumber(string key) { ...
- C++ 提取字符串中的数字
C++ 提取字符串中的数字 #include <iostream> using namespace std; int main() { ] = "1ab2cd3ef45g&quo ...
- java截取字符串中的数字
java从字符串中提取数字 随便给你一个含有数字的字符串,比如: String s="eert343dfg56756dtry66fggg89dfgf"; 那我们如何把其中的数字提取 ...
- python(15)提取字符串中的数字
python 提取一段字符串中去数字 ss = “123ab45” 方法一:filter filter(str.isdigit, ss) 别处copy的filter的用法: # one>> ...
- 用sql获取某字符串中的数字部分的语句
create function dbo.F_Get_No ( @No varchar(100) ) RETURNS bigint AS BEGIN WHILE PATINDEX('%[^0-9]%', ...
随机推荐
- mybtis 基础
一.什么是mybatis MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.MyBati ...
- Hbase_02、Hbase的常用的shell命令&Hbase的DDL操作&Hbase的DML操作(转)
阅读目录 前言 一.hbase的shell操作 1.1启动hbase shell 1.2执行hbase shell的帮助文档 1.3退出hbase shell 1.4使用status命令查看hbase ...
- 01--STL算法(算法基础)
一:算法概述 算法部分主要由头文件<algorithm>,<numeric>和<functional>组成. <algorithm>是所有STL头文件中 ...
- springboot下整合各种配置文件
本博是在springboot下整合其他中间件,比如,mq,redis,durid,日志...等等 以后遇到再更.springboot真是太便捷了,让我们赶紧涌入到springboot的怀抱吧. ap ...
- Linux记录-JMX监控JAVA进程
3.修改xxx.sh 加入export JAVA_OPTS="-Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.mana ...
- Ubuntu 开启SSH服务以及有关设置:安装,指定端口号、免密登录、远程拷贝
本文所用系统为 Ubuntu 18.04 什么是SSH? 简单说,SSH是一种网络协议,用于计算机之间的加密登录.全名为:安全外壳协议.为Secure Shell的缩写.SSH为建立在应用 ...
- Oracle了解(一)
通常所说的Oracle数据库服务器由一个数据库和至少一个数据库实例组成. 数据库实例是由系统后台进程和分配的内存区域构成 实例你是提供服务的进程,数据库是存放的数据. 数据库是存储数据的文件 数据库实 ...
- 自学python 4.
1.li = ["alex","tom","mike","god","merffy"](1)a = ...
- Django聚合与分组查询中value与annotate的顺序问题
在学习Django聚合与分组查询中,发现value与annotate的顺序不同时,查询结果大相径庭,经过一下午的研究,终于弄明白了,现在分享给大家,先上结论: 结论 value在annotate前面时 ...
- 细说shiro之一:shiro简介
官网:https://shiro.apache.org/ 一. Shiro是什么Shiro是一个Java平台的开源权限框架,用于认证和访问授权.具体来说,满足对如下元素的支持: 用户,角色,权限(仅仅 ...