目前学习用于输入字符数组两大函数

第一个:cin.getline函数

代码(    以char str[1001]为例   ):

cin.getline(str, 1000);

解释:

     

cin.getline(str, 1000); 是C++中用于从标准输入(通常是键盘)读取一行字符串的语句。这里,cin 是C++标准库中用于输入的流对象,而 getline 是一个成员函数,用于读取一行字符串。

具体来说,cin.getline(str, 1000); 的功能如下:

  1. 它从标准输入读取最多999个字符(最后一个字符是空字符\0,用于标记字符串的结束)并存储在 str1 中。
  2. 如果用户输入的字符数少于999个,那么 str1 会包含用户输入的所有字符,并且后面会自动加上空字符 \0
  3. 如果用户输入了1000个或更多的字符,那么只有前999个会被存储在 str1 中。超过部分会被忽略。
  4. 在读取之后,该函数还会检查并删除行末的换行符(如果存在)。
第二个:fgets函数

代码:

fgets(str,sizeof(str),stdin);

解释:

      

fgets(str, sizeof(str), stdin); 是C语言中用于从标准输入读取一行字符串的函数调用。下面我将详细解释这个函数调用的每个部分:

  1. fgets: 这是C标准库中的一个函数,用于从指定的流中读取数据。在这里,它是从标准输入流 stdin 中读取数据。
  2. str: 这是一个字符数组,用于存储从输入流中读取的数据。
  3. sizeof(str): 这是一个C语言操作符,它返回其操作数(在这里是字符数组 str)的大小(以字节为单位)。这个大小包括数组的末尾的空字符 \0
  4. stdin: 这是一个预定义的文件指针,指向标准输入流。在大多数情况下,它对应于键盘输入。

函数的工作原理如下:

  • fgets 从 stdin(标准输入)读取数据,直到遇到换行符(\n)、读取了 sizeof(str) - 1 个字符,或者读取了文件结束符(EOF),以先出现的情况为准。
  • 读取的数据(包括可能的换行符)被存储在 str 中。

这个函数调用通常用于从用户那里获取一行输入,并确保不会发生缓冲区溢出(因为最多只会读取 sizeof(str) - 1 个字符到 str 中)。

一个用不了用另外一个,简简单单。
  • 8
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 您好,以下是用 C++ 编写一个输入字符串数组的函数示例: ```cpp #include <iostream> #include <string> using namespace std; void inputStringArray(string arr[], int size) { for (int i = ; i < size; i++) { cout << "请输入第" << i + 1 << "个字符串:"; getline(cin, arr[i]); } } int main() { const int SIZE = 3; string arr[SIZE]; inputStringArray(arr, SIZE); for (int i = ; i < SIZE; i++) { cout << "第" << i + 1 << "个字符串是:" << arr[i] << endl; } return ; } ``` 这个函数的作用是输入一个字符串数组,其中 `arr` 是字符串数组,`size` 是数组的大小。函数使用 `getline` 函数从标准输入中读取每个字符串,并将其存储在数组中。在主函数中,我们可以使用这个函数输入一个字符串数组,并输出每个字符串。 ### 回答2: 要用C++写一个函数输入字符串数组,可以使用以下代码: ```cpp #include <iostream> #include <string> #include <vector> std::vector<std::string> inputStringArray() { std::vector<std::string> strArray; int numStrings; std::cout << "请输入字符串的数量:"; std::cin >> numStrings; for (int i = 0; i < numStrings; i++) { std::string str; std::cout << "请输入第 " << (i + 1) << " 个字符串:"; std::cin >> str; strArray.push_back(str); } return strArray; } int main() { std::vector<std::string> array = inputStringArray(); std::cout << "输入的字符串数组为:" << std::endl; for (const std::string& str : array) { std::cout << str << std::endl; } return 0; } ``` 这个函数使用了一个字符串数组来存储用户输入的字符串,使用了`std::vector`容器来实现。首先,用户需要输入字符串的数量。然后,在一个循环中,用户依次输入每个字符串,然后将其添加到字符串数组中。最后,函数返回这个字符串数组。 在主函数中,我们调用了`inputStringArray()`函数来获取用户输入的字符串数组,并打印出这个数组中的所有字符串。 ### 回答3: 要用C++语言编写一个函数输入字符串数组,可以按照以下步骤进行操作: 1.首先,在函数的参数中传入一个字符串数组,用来保存输入的字符串。 2.然后,在函数内部使用循环来逐个输入字符串。可以使用一个计数器来记录当前输入了多少个字符串。 3.在循环内部,使用C++中的输入流对象std::cin输入字符串,并将其保存到字符串数组中。可以使用数组的索引来确定保存的位置,例如:array[counter] = inputString;(其中,array是传入的字符串数组,counter是计数器变量,inputString是存储输入的字符串的变量)。 4.每次循环结束后,计数器要自增1,以便记录下一个字符串的位置。 5.在循环结束后,返回字符串数组。可以使用C++中的指针来实现这一操作,即return array;。 下面是一个示例代码,用于说明如何实现上述功能: ```cpp #include <iostream> #include <string> // 函数名为inputStrings,参数为字符串数组 std::string* inputStrings(std::string array[], int size) { int counter = 0; // 计数器 while (counter < size) { std::string inputString; // 用于保存输入的字符串 std::cout << "请输入第" << counter + 1 << "个字符串:"; std::cin >> inputString; array[counter] = inputString; counter++; // 计数器自增1 } return array; } int main() { const int size = 5; // 字符串数组的大小 std::string strings[size]; // 声明一个字符串数组 // 调用inputStrings函数,将输入的字符串保存到数组中 inputStrings(strings, size); // 打印输入的字符串数组 std::cout << "输入的字符串为:"; for (int i = 0; i < size; i++) { std::cout << strings[i] << " "; } std::cout << std::endl; return 0; } ``` 这样,当运行上面的代码时,程序会提示用户输入5个字符串,并将这些字符串保存到名为`strings`的字符串数组中。然后,程序会打印出输入的字符串数组。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值