如何忽略第一个字符输入后的所有内容

How to ignore everything after the first character input

本文关键字:何忽略 第一个 字符输入      更新时间:2023-10-16

我想在用户输入的第一char之后删除所有内容。
一切正常,但我正在处理边缘情况,如果用户键入某些内容,例如"nfff",则会导致两个函数发生,当"n"作为输入输入和"f"作为输入输入时。我知道这可以使用if (str[0] == 'n') { function() }来解决,但我宁愿不使用更多的字符串内存。
有没有更有效的方法可以丢弃第一个字符之后的所有内容?

你可以使用 scanf 或 getchar。

例如

char my_char;
scanf("%c", &my_char);

因此,这将忽略第一个字符之后的所有内容。

#include <iostream>     // std::cin, std::cout
#include <fstream>      // std::ifstream
int main () {
char str[2];
std::cout << "Enter str ";
std::cin.get (str,2);    // get c-string
std::cout <<str<<std::endl;
return 0;
}

使用 istream::get 来解决问题!大小为 2 将确保 str 以空结尾。