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

2024-12-23 03:49:02
推荐回答(5个)
回答1:

#include

#include

using namespace std;

int main()

{

string str;

// 设置一个终止符

getline(cin,str,'#');

cout<

return 0;

}

扩展资料

c++读取字符串的方法

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

#include

using namespace std;

main ()

{

char ch;

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

cout<

}

输入:jljkljkl

输出:j

回答2:

#include
#include
#include
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
#include
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
#include
#include
using namespace std;

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

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

#include
#include
using namespace std;

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

char buffer[256];
while(ifs.getline(buffer, 256, ' ')) // 逐词读取方法四
{
cout << buffer;
}
}

回答3:

有。用fscanf(fp, "%s", word)即可。其中word是足够长度的字符数组。

回答4:

呵呵,你自己造不了函数,用下面的语句:
fprintf(fp, "%s", s);
fp为FILE*,即文件指针,s要定义为字符串或者字符数组。
这个语句每次读入一个单词(单词之间用空格分开)。

回答5:

#include
#include
#include
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();
}