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]%', ...
随机推荐
- flask 钩子函数
说明: before_request函数,就是一个装饰器,他可以把需要设置为钩子函数的代码放到视图函数执行之前执行 示例: from flask import Flask,url_for,redire ...
- sql递归查询 根据Id查所有子结点
Declare @Id Int Set @Id = 0; ---在此修改父节点 With RootNodeCTE(D_ID,D_FatherID,D_Name,lv) As ( Select D_ID ...
- spring+springmvc+ibatis整合注解方式实例【转】
源自-----> http://shaohan126448.iteye.com/blog/2033563 (1)web.xml文件(Tomcat使用) 服务器根据配置内容初始化spring框架, ...
- 生成表结构数据库文档sql语句
CREATE PROCEDURE [dbo].[生成表结构数据库文档]ASBEGIN -- SET NOCOUNT ON added to prevent extra result sets from ...
- 使用wget命令下载JDK失败(文件特别小)
问题RT: 我们在网页上下载的时候要点一下 “Accept License Agreement ” ,使用wget下载的时候也需要提交这个 accept,方法如下: wget --no-check-c ...
- npm scripts 脚本基础指南
什么是npm脚本? npm 允许在package.json文件里面,使用scripts字段定义脚本命令. 初始化package.json -> npm init -> 经历一系列的问答即可 ...
- Web服务调试可用,发布之后访问出错
今天重装了系统,然后发现之前的Web服务DataService不能用了.将其设置为启动项,运行的结果是 跟踪发现,是mysql.data.dll的版本不对.所以要找到所有版本不对的该dll,将其替换成 ...
- 14.Scrapy Shell
Scrapy终端是一个交互终端,我们可以在未启动spider的情况下尝试及调试代码,也可以用来测试XPath或CSS表达式,查看他们的工作方式,方便我们爬取的网页中提取的数据. 如果安装了 IPyth ...
- SQL Server 远程备份详解
例1: 有A数据库服务器,B本机: 我现在想通过在B机器上通过代码调用SQL来执行A数据库的备份到B机器上 调用的SQL语句为:Backup Database MYDATABASE To Disk=' ...
- Debian Security Advisory(Debian安全报告) DSA-4416-1 wireshark security update
Debian Security Advisory(Debian安全报告) DSA-4416-1 wireshark security update Package:wireshark CVE ID : ...