c++中如何读取文件中的单个字符串

就好比在文件New file.txt中有这么一段话:I am a boy. You are a girl.那么我如何一次一个的读取单词。比如,第一次读取I,第二次读取am,依次类推。有没有getword这个函数。

#include<string>

#include<iostream>

using namespace std;

int main()

{

string str;

// 设置一个终止符

getline(cin,str,'#');

cout<<str<<' '<<endl;

return 0;

}

扩展资料

c++读取字符串的方法

cin.get(字符变量名)可以用来接收字符

#include <iostream>

using namespace std;

main ()

{

char ch;

ch=cin.get(); //或者cin.get(ch);只能获取一个字符

cout<<ch<<endl;

}

输入:jljkljkl

输出:j

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-02
#include <fstream>
#include <string>
#include <iostream>
using namespace std;

int main()
{
ifstream ifs("test.cpp"); // 改成你要打开的文件
streambuf* old_buffer = cin.rdbuf(ifs.rdbuf());

string read;
while(cin >> read) // 逐词读取方法一
cout << read;
cin.rdbuf(old_buffer); // 修复buffer
}

#include <iostream>
#include <fstream>
using namespace std;

int main()
{
ifstream ifs("test.cpp"); // 改成你要打开的文件
ifs.unsetf(ios_base::skipws);

char c;
while(ifs.get(c)) // 逐词读取方法二
{
if(c == ' ')
continue;
else
cout.put(c);
}
}

#include <iostream>
#include <fstream>
#include <string>
using namespace std;

int main()
{
ifstream ifs("test.cpp"); // 改成你要打开的文件

string read;
while(getline(ifs, read, ' ')) // 逐词读取方法三
{
cout << read << endl;
}
}

#include <fstream>
#include <iostream>
using namespace std;

int main()
{
ifstream ifs("test.cpp"); // 改成你要打开的文件

char buffer[256];
while(ifs.getline(buffer, 256, ' ')) // 逐词读取方法四
{
cout << buffer;
}
}本回答被提问者采纳
第2个回答  2007-03-31
有。用fscanf(fp, "%s", word)即可。其中word是足够长度的字符数组。
第3个回答  2007-03-31
呵呵,你自己造不了函数,用下面的语句:
fprintf(fp, "%s", s);
fp为FILE*,即文件指针,s要定义为字符串或者字符数组。
这个语句每次读入一个单词(单词之间用空格分开)。
第4个回答  推荐于2017-09-15
#include <iostream>
#include <fstream>
#include <string>
using namespace std;

const string GetFileName(void);
void ReadFile(const string strFileName);

int main(void)
{
ReadFile(GetFileName());
cout << endl;

return 0;
}

const string GetFileName(void)
{
string strFileName;
cout.setf(ios::right);
cout.width(30);
cout << "输入文件的路径:";
cin >> strFileName;

return strFileName;
}

void ReadFile(const string strFileName)
{
string text;

ifstream in(strFileName.c_str());

if (!in)
{
cout.width(15);
cout << "文件打开失败" << endl;
}

while (in >> text)
{
cout << text;
}

in.close();
in.clear();
}
相似回答