📜  getline()函数和字符数组(1)

📅  最后修改于: 2023-12-03 14:41:23.757000             🧑  作者: Mango

C++中的getline()函数与字符数组

在C++中,getline()函数和字符数组都是常见的操作字符串的方式。本文将介绍它们的用法和特性。

getline()函数

getline()函数的定义如下:

istream& getline (istream& is, string& str, char delim);

它从输入流is中提取字符,直到遇到delim的第一个实例为止。提取的字符被存储在字符串str中。如果delim未指定,函数默认使用'\n'作为分隔符。

下面是一个使用getline()函数的例子:

#include <iostream>
#include <string>
using namespace std;

int main() {
    string str;
    getline(cin, str); // 从标准输入获取一行字符串
    cout << "你输入的是:" << str << endl;
    return 0;
}

此程序将从标准输入获取一行字符串,然后将其打印到屏幕上。

字符数组

字符串常常使用字符数组来表示。字符数组是一个连续的字符序列,每个字符占用一个字节的存储空间。字符数组声明方式如下:

char str[] = "Hello, world!";

在上面的代码中,字符数组str中包含了字符串"Hello, world!"。

下面是另一个以字符数组为例的程序:

#include <iostream>
using namespace std;

int main() {
    char str[50];
    cout << "请输入一个字符串:" << endl;
    cin.getline(str, 50); // 从标准输入获取一行字符,最多获取50个字符

    // 输出字符数组
    for (int i = 0; str[i] != '\0'; i++) {
        cout << str[i];
    }
    cout << endl;
    return 0;
}

此程序将从标准输入获取一行字符,然后将其打印到屏幕上。注意,在字符数组中,字符串的结尾必须以空字符符号 ('\0') 结束,否则输出可能出错。

总结

本文介绍了C++中的getline()函数和字符数组的用法和特性。这些操作字符串的方法是C++中常见和常用的,值得掌握。