c++输入输出流文件,string类型output txt中的问题。

using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{ string s1,s2;
cout<<"请输入八位字符串:"<<endl;
cin>>s1; //这里得不到空格字符,怎么改进?
int m=s1.size();
cout<<"s1的长度为:"<<m<<endl;
if(m==8){
cout<<"您输入八位字符串。"<<endl;
cout<<"--------------------"<<endl;
ifstream output;
output.open("Mypassword2.txt");
output>>s1; // 这里应该是output<< 但是这样编译器就会报错。怎么改
output.close();
cout<<"已保存!"<<endl;
cout<<"--------------------"<<endl;;
ifstream input;
input.open("Mypassword2.txt");
input>>s1;
cout<<"s1="<<s1<<endl;
s2=s1;
cout<<"s2="<<s2<<endl;
cout<<"读取成功!"<<endl;
cout<<"请您再次输入字符串!"<<endl;
string s3;
cin>>s3;
int m1=s3.size();
if(m1==8){
cout<<"有效长度."<<endl;
if(s2==s3){
cout<<"欢迎来到c++的世界!"<<endl;
}
}
else{
cout<<"刚才你都输对了,这次错了。逗我呢?"<<endl;
}
}
if(m>8){
cout<<"您输入的字符串有误,位数多了。"<<endl;

}
if(m<8){
cout<<"您输入的字符串有误,位数少了。"<<endl;
}
system("pause");
return 0;
}

找不到所建立的txt文件,因为没建立成功?
空格,已解决,头文件应该也没问题。

#include<stdio.h>
#include<iostream>
#include <string>
#include <fstream>
using namespace std;
int main(int argc,char *argv[])
{   
string s1,s2;
cout<<"请输入八位字符串:"<<endl;
cin>>s1;                                                          
int m=s1.size();
cout<<"s1的长度为:"<<m<<endl;
if(m==8){
cout<<"您输入八位字符串。"<<endl;
cout<<"--------------------"<<endl;
ofstream output;
output.open("E:\笔记\Mypassword2.txt");
output<<s1;                                                   
output.close();
cout<<"已保存!"<<endl;
cout<<"--------------------"<<endl;;
ifstream input;
input.open("Mypassword2.txt");
input>>s1;
cout<<"s1="<<s1<<endl;
s2=s1;
cout<<"s2="<<s2<<endl;
cout<<"读取成功!"<<endl;
cout<<"请您再次输入字符串!"<<endl;
string s3;
cin>>s3;
int m1=s3.size();
if(m1==8){
cout<<"有效长度."<<endl;
if(s2==s3){
cout<<"欢迎来到c++的世界!"<<endl;
}
else{
cout<<"刚才你都输对了,这次错了。逗我呢?"<<endl;
}
}
if(m1>8){
cout<<"您输入的字符串有误,位数多了。"<<endl;
}
if(m1<8){
cout<<"您输入的字符串有误,位数少了。"<<endl;
}

system("pause"); 
return 0;
}

你想要怎么得到空格字符?逐个输入?

追问

输入空格字符也算是一个字符长度。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-06-20
ifstream是输入流,用反了。追问

已自己解决谢谢了。

相似回答