#include "stdafx.h"
#include <atlbase.h>
#include <atlapp.h>
#include <atlmisc.h>
#include <iostream>
#include <sstream>
#include <fstream>
#include <string>
#include <vector>
using namespace std;
double reverse_double(double arg)
{
ostringstream oss;
oss << arg;
string str = oss.str();
for (int i = 0; i < str.size()/2; ++i)
{
char temp;
temp = str[i];
str[i] = str[str.size()-i-1];
str[str.size()-i-1] = temp;
}
istringstream iss(str);
iss >> arg;
return arg;
}
int _tmain(int argc, _TCHAR* argv[])
{
/*istringstream istr;
istr.str("1 56.7");
//上述两个过程可以简单写成 istringstream istr("1 56.7");
cout << istr.str()<<endl;
int a;
float b;
istr>>a;
cout<<a<<endl;
istr>>b;
cout<<b<<endl;*/
/*ostringstream ostr;
//ostr.str("abc");
//如果构造的时候设置了字符串参数,那么增长操作的时候不会从结尾开始增加,而是修改原有数据,超出的部分增长
ostr.put('d');
ostr.put('e');
ostr<<"fg";
string gstr = ostr.str();
cout<<gstr;
system("pause"); */
/*stringstream ostr("ccc");
ostr.put('d');
ostr.put('e');
ostr<<" fg";
string gstr = ostr.str();
cout<<gstr<<endl;
char a;
ostr>>a;
cout<<a<<endl;
const char *p =ostr.str().c_str();
cout<<p<<endl;
cout<<ostr.str()<<endl;*/
/*string t;
int i = 120;
stringstream stream;
stream<<i;
stream>>t;
cout<<t<<endl;*/
/*wistringstream istring;
wstring ss(L"我我我神ss 8346520");
istring.str(ss);
int i=0;
wstring s;
istring>>s>>i;
CString str(s.c_str());
wcout<<s<<" "<<i<<endl;
*/
/*
istringstream istring;
string ss("ss 8346520 333");
istring.str(ss);
int i=0;
string s;
istring>>s;
istring>>i;
istring>>i;
cout<<s<<" "<<i<<endl;
*/
/*string s="test";
int i=8346520;
int j=0;
string s1;
ostringstream ostring;//不能写成ostringstream ostring<<s<<" "<<i;
ostring<<s<<" "<<i;
cout<<ostring.str()<<endl;//ostring流内保存内容是 test 8346520
istringstream istring(ostring.str());
istring>>s1>>j;//要注意此处的顺序;
cout<<s1<<"――――"<<j<<endl;
*/
/*ifstream infile("c:/in.txt");//或者ifstream infile;infile.open("1.txt");
infile.close();//fstream对象只能与1个文件关联,所以打开另外一个,必须关闭上一个;
infile.clear();//如果是循环创建fstream流的话,.close()和clear()函数就应该重视;
infile.open("d:/in1.txt");//文件夹地址应使用反斜杠;
if(infile){//使用前检测状态是个好习惯
string s;
int b;
string m;
infile>>s>>b>>m;//将读取文件里第1个单词;getline(infile,s);将读取文件里的第1行
cout<<s<<b<<m<<endl;
} */
//将double倒排
double num = 2345.78;
cout << num << " " << reverse_double(num) << endl;
//将string倒排
string sss="Hello world";
for(int i=0; i<sss.size()/2; i++)
{
char temp;
temp = sss[i];
sss[i] = sss[sss.size()-i-1];
sss[sss.size()-i-1] = temp;
}
cout<<sss<<endl;
//读取文本,将每个单词从后到前排
wifstream in("c://in.txt");
vector<wstring> wVec;
wstring wStr;
if(in)
{
while(!in.eof())
{
in>>wStr;
wVec.push_back(wStr);
wcout<<wStr<<"__";
}
wVec.pop_back();
cout<<"-----------------------"<<endl;
}
vector<wstring>::reverse_iterator vw_rIter;
for(vw_rIter = wVec.rbegin(); vw_rIter < wVec.rend(); vw_rIter++)
{
wcout<<*vw_rIter<<"__";
}
system("pause");
}
sstream 与 fstream的使用
最新推荐文章于 2023-10-07 15:03:16 发布