读取文本中的数字(其中包含中英文字符)
2013-11-22 10:58
113 查看
// c++_5.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include <fstream> #include <iostream> #include <string> #include <vector> #include <sstream> using namespace std; bool JudgeNum(string str, int& iTmp) { bool bNum = true; string::size_type strSize = str.size(); if (strSize == 0 ) { bNum = false; } for (int i = 0; i < strSize; ++i) { char ch = str.at(i); if ((ch < '0') || (ch > '9')) { bNum = false; break; } } if (bNum) { istringstream iss(str); iss >> iTmp; } return bNum; } int _tmain(int argc, _TCHAR* argv[]) { ifstream infile("C:\\Users\\sony\\Desktop\\1.txt"); if (!infile) { cout << "File open error"; } int a, b; vector<int> iVec; int iTmp = 0; string strTmp; if (!infile) { return -1; } while (getline(infile, strTmp, ' ')) { if (JudgeNum(strTmp, iTmp)) { iVec.push_back(iTmp); } } infile.close(); system("pause"); return 0; }istringstream类用于执行C++风格的串流的输入操作。
ostringstream类用于执行C风格的串流的输出操作。
strstream类同时可以支持C风格的串流的输入输出操作。
istringstream是由一个string对象构造而来,istringstream类从一个string对象读取字符。
istringstream的构造函数原形如下:
istringstream::istringstream(string str);
用stringstream转化
int _tmain(int argc, _TCHAR* argv[]) { stringstream strStream; //int -> string string result; int i = 999; strStream << i; //将int输入流 strStream >> result; //从strstream中输出 //进行多次转换时要clear() std::stringstream stream; int first, second; stream<< "456"; //插入字符串 stream >> first; //转换成int std::cout << first << std::endl; stream.clear(); //在进行多次转换前,必须清除stream
stream.str(""); stream << true; //插入bool值 stream >> second; //提取出int std::cout << second << std::endl; system("pause"); return 0; }
相关文章推荐
- 有一个字符串,其中包含中文字符、英文字符和数字、空格及其他字符,请统计和打印出各个字符的个数。
- 有一个字符串,其中包含中文字符、英文字符和数字字符,请统计和打印出各个字符的个数。
- 密码最短长度为 7,其中必须包含以下非字母数字字符: 1(Password length minimum: 7. Non-alphanumeric characters required: 1. )
- 密码最短长度为 7,其中必须包含以下非字母数字字符
- 解决VS2005创建用户出现“密码最短长度为 7,其中必须包含以下非字母数字字符
- 分割字符串(有一个字符串,其中包含中文字符、英文字符和数字字符,请统计和打印出各个字符的个数)
- 1、 输入一串字符,只包含“0-10”和“,”找出其中最小的数字和最大的数字(可能不止一个),输出最后剩余数字个数。
- (Map实现)有一个字符串,其中包含中文字符、英文字符和数字字符,请统计和打印出各个字符的个数
- 密码最短长度为 7,其中必须包含以下非字母数字字符: 1(Password length minimum: 7. Non-alphanumeric characters required: 1. )
- 密码最短长度为7,其中必须包含以下非字母数字字符1 完美解决方案
- 密码最短长度为7,其中必须包含以下非字母数字字符1 完美解决方案
- 密码最短长度为 7,其中必须包含以下非字母数字字符: 1(转)
- 密码最短长度为 7,其中必须包含以下非字母数字字符: 1(Password length minimum: 7. Non-alphanumeric characters required: 1. )
- 针对“【ASP.NET】"密码最短长度为7,其中必须包含以下非字母数字字符1"解决方法
- “密码最短长度为7,其中必须包含以下非字母数字字符: 1”错误解决
- 密码最短长度为 7,其中必须包含以下非字母数字字符: 1。
- UITextField 计算输入的字符个数(包含中英文数字特殊符号)
- 解决在VS2005、VWD中创建用户时提示““密码最短长度为 7,其中必须包含以下非字母数字字符: 1。”
- “密码最短长度为7,其中必须包含以下非字母数字字符: 1”错误解决
- 密码最短长度为7,其中必须包含以下非字母数字字符: 1"