从文件中读取:
方法一:
#include<iostream>
#include<fstream>
#include<string>
using namespace std;
int main()
{
string word[30];
ifstream read;
ofstream display;
read.open("zs.txt");
display.open("zs1.txt");
for (int i=0; i<30; i++)
read>>word[i]; //每次向word[i]中写入一个单词
//下面的两种方式读取一行,没结果可能原因是read在word中已经读取完了。
char ch[100]=""; //读取一行,或者最大值结束。
read.getline(ch,100); //不能讲const char*转换为char*,所以不能用字符串
//也不能用字符指针,只能用字符指针的形式
string line;
getline(read,line); //读取一行
cout<<ch<<endl;
cout<<line<<endl;
for(int i = 0;i < 30;++i)
{
cout<<word[i]<<" "; //将一个单词写入zs1.txt中
}
display<<word[5];
read.close();
display.close();
system("pause");
return 0;
}
从控制台读取:
#include <iostream>
#include <string>
using namespace std;
int main(int argc,char *argv[])
{
string word;
while(cin >> word)
{
cout<<word<<endl; //endl用来输出一个换行符并刷新输出缓冲区
}
return 0;
}
//执行结果:
//hello
//hello
//love
//love
//i love you
//i
//love
//you
方法二:
这种方法如何将’ ‘和’\n’都为分界 ???
#include <iostream>
#include <string>
using namespace std;
int main(int argc,char *argv[])
{
string line;
while(getline(cin,line))//getline函数可以设置为getline(cin,line,' ')形式,那么就会以' '为分界来读取单词
{
cout<<line<<endl;
}
return 0;
}
//编译源程序:
// g++ -o string2 string2.cpp
//运行程序:
// ./string2
//运行结果:
//hello
//hello
//love
//love
//i love you
//i love you
//The only girl I care about has gone away.
//The only girl I care about has gone away.