首页 > 后端开发 > C++ > 正文

如何用 C 语言读取用户的整行文本?

Linda Hamilton
发布: 2024-11-20 15:11:11
原创
809 人浏览过

How to Read an Entire Line of Text from the User in C  ?

使用 Cin 从用户读取整行

在您提供的 C 代码中,您的目标是将一行文本写入文件,但是您遇到一个问题,即只写入一个单词而不是整行。解决方案在于代码对用户输入的处理。

代码使用 cin >> y 从用户处读取字符,但这仅捕获输入的第一个字符。要读取整行,需要使用不同的方法。

而不是 cin >> y,使用以下代码:

string response;
getline(cin, response);
登录后复制

这一行使用 getline 从用户读取整行文本。输入的文本将存储在字符串变量response中。

以下是如何将此更改合并到您的代码中:

char x;

cout << "Would you like to write to a file?" << endl;
cin >> x;
if (x == 'y' || x == 'Y')
{
    string response;
    cout << "What would you like to write." << endl;
    getline(cin, response);
    ofstream file;
    file.open("Characters.txt");
    file << strlen(response.c_str()) << " Characters." << endl;
    file << endl;
    file << response; // Now writes the entire line

    file.close();

    cout << "Done. \a" << endl;
}
else
{
    cout << "K, Bye." << endl;
}
登录后复制

通过使用 getline 读取完整的行,您现在可以有效地将多字回复写入您的文件。

以上是如何用 C 语言读取用户的整行文本?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板