21xrx.com
2024-11-08 22:01:44 Friday
登录
文章检索 我的文章 写文章
C++ 中的字符串输入操作
2023-06-24 01:37:58 深夜i     --     --
C++ 字符串 输入 操作

C++ 中的字符串输入操作非常灵活和简便。C++ 的标准库为我们提供了多个用于输入字符串的函数,包括:cin、getline()、gets() 等,同时可以使用控制台输入、文件输入等多种方式来读取字符串。本文将介绍这些函数的用法和注意事项。

1. cin 函数

cin 函数是 C++ 中最常用的输入函数之一,它可以被用于读取一个或多个字符串,其基本语法如下:


cin >> str;

其中,str 表示要读取的字符串变量,>> 为输入符号,它告诉编译器将从输入流中读取输入并存储到变量 str 中。

需要注意的是,cin 函数默认以空格为分隔符,因此如果想要输入包含空格的字符串,需要使用 getline() 函数。

2. getline() 函数

getline() 函数是 C++ 中输入字符串的另一种函数,它允许我们读取一行字符串,其基本语法如下:


getline(cin, str);

在上述语句中,getline() 函数从流 cin 中读取一行字符串并存储到变量 str 中。getline() 函数会一直读取等到遇到换行符或文件结尾符,即 C++ 中的 EOF。

3. gets() 函数

gets() 函数是 C 语言中用于输入字符串的函数,也可以在 C++ 中使用。其基本语法如下:


char str[100];

gets(str);

需要注意的是,gets() 函数存在安全隐患,因为它无法限制输入的字符串长度。建议使用更安全的输入函数,例如 fgets()。

4. 输入文件和控制台输入

除了从 cin 中读取输入之外,我们还可以从文件输入或控制台输入读取字符串。


#include <iostream>

#include <fstream>

using namespace std;

int main() {

  string str1;

  ifstream inFile;

  inFile.open("test.txt");

  getline(inFile, str1);

  cout << str1 << endl;

  inFile.close();

  string str2;

  cout << "请输入字符串:";

  getline(cin, str2);

  cout << "输入的字符串是:" << str2 << endl;

  return 0;

}

在上述代码中,我们通过 ifstream 打开了一个名为 test.txt 的文件,并使用 getline() 函数从中读取了一行字符串。同时,我们也从控制台读取了一个字符串并使用 getline() 函数输出。使用这些函数可以方便地从多种来源读取输入,并存储到字符串变量中。

总结

本文主要介绍了 C++ 中常用的字符串输入函数:cin、getline() 和 gets()。其中,cin 和 getline() 是最为常用的函数,建议优先考虑使用它们。同时,我们也可以从文件和控制台输入字符串,并存储到变量中。无论是哪种方式,我们都应该注意输入字符串的长度和安全性,避免出现缓冲区溢出等问题。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复