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

C++ 如何在输入第一个字符后忽略所有内容,c++,string,user-input,C++,String,User Input,在用户输入的第一个char之后,我想去掉所有内容。 一切正常,但我正在处理边缘情况,如果用户键入诸如“nfff”之类的内容,则会导致出现两个函数,即输入“n”作为输入和输入“f”作为输入。我知道这可以用if(str[0]='n'){function()}解决,但我不希望对字符串使用更多内存。 是否有更有效的方法来丢弃第一个字符后的所有内容?您可以使用或 比如说, char my\u char; scanf(“%c”和my_char); 因此,这将忽略第一个字符后的所有内容。您可以使用或 #in

在用户输入的第一个
char
之后,我想去掉所有内容。
一切正常,但我正在处理边缘情况,如果用户键入诸如“nfff”之类的内容,则会导致出现两个函数,即输入“n”作为输入和输入“f”作为输入。我知道这可以用
if(str[0]='n'){function()}
解决,但我不希望对字符串使用更多内存。
是否有更有效的方法来丢弃第一个字符后的所有内容?

您可以使用或

比如说,

char my\u 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;
}
比如说,

char my\u char;
scanf(“%c”和my_char);
因此,这将忽略第一个字符之后的所有内容。

\include//std::cin,std::cout
#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;
}
#include//std::ifstream int main(){ char-str[2]; std::cout
#包括//std::cin,std::cout
#include//std::ifstream
int main(){
char-str[2];

std::无法读取第一个字符,然后直到你需要再次开始注意为止,例如,在行的末尾。如果你的目标是读取一行文本,那么这就是
std::getline
的目的。这就是它的工作。然后,如果你只想查看和检查第一个读取的字符,那么你完全可以自由地这样做r休闲。您当前如何获得用户输入?阅读第一个字符,然后直到需要再次注意为止,例如,在行的末尾。如果您的目标是阅读一行文本,那么这就是
std::getline
的目的。这就是它的工作。然后,如果您只想查看和检查第一个读取的字符,那么您可以您可以在空闲时完全自由地这样做。您当前如何获得用户输入?