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
的目的。这就是它的工作。然后,如果您只想查看和检查第一个读取的字符,那么您可以您可以在空闲时完全自由地这样做。您当前如何获得用户输入?