c++中如何读取文件中的单个字符串
就好比在文件Newfile.txt中有这么一段话:Iamaboy.Youareagirl.那么我如何一次一个的读取单词。比如,第一次读取I,第二次读取am,依次类推。有没...
就好比在文件New file.txt中有这么一段话:I am a boy. You are a girl.那么我如何一次一个的读取单词。比如,第一次读取I,第二次读取am,依次类推。有没有getword这个函数。
展开
6个回答
展开全部
展开全部
#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;
}
}
#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;
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
有。用fscanf(fp, "%s", word)即可。其中word是足够长度的字符数组。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
呵呵,你自己造不了函数,用下面的语句:
fprintf(fp, "%s", s);
fp为FILE*,即文件指针,s要定义为字符串或者字符数组。
这个语句每次读入一个单词(单词之间用空格分开)。
fprintf(fp, "%s", s);
fp为FILE*,即文件指针,s要定义为字符串或者字符数组。
这个语句每次读入一个单词(单词之间用空格分开)。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#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();
}
#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();
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询