Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/158.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
避免在字符数组中输入太长 问候语我喜欢C++中的电话簿。 现在我想做一个搜索函数,你可以输入你想要搜索的内容。 比如第一个名字或者第二个名字。 之后,你可以键入你想要搜索的字符数组。我用cin做了这个。 现在,我尝试创建一个if子句,以避免在保存输入的Char数组中出现过载,但到目前为止,它还不起作用 //string that you looking for char suchString[40]; //Variable to select what kind of data you looking for int selection= 0; //should be true if string is less than 39 signs bool suchStrisOk = false; //will be true if string is founded bool foundStr = false; cout << "weahlen die aus nach welchen Daten sie suchen wollen"<<endl; cout << "1.Anrede\n2.Vorname\n3.Nachname\n4.strassenname\n5.plz\n6.Wohnort\n7.vorwahl\n8Telefonnummer\n"; //what should function look for cin >> selection; cout << "Geben sie ein welchen Begriff sie suchen möchten" << endl; //what string should function look for? cin >> suchString; if (cin) { suchStrisOk == true; } else { suchStrisOk == false; } //您要查找的字符串 char-suchString[40]; //变量来选择要查找的数据类型 整数选择=0; //如果字符串小于39个符号,则应为true bool-suchStrisOk=false; //如果建立字符串,则为true bool foundStr=false; cout_C++_Arrays - Fatal编程技术网

避免在字符数组中输入太长 问候语我喜欢C++中的电话簿。 现在我想做一个搜索函数,你可以输入你想要搜索的内容。 比如第一个名字或者第二个名字。 之后,你可以键入你想要搜索的字符数组。我用cin做了这个。 现在,我尝试创建一个if子句,以避免在保存输入的Char数组中出现过载,但到目前为止,它还不起作用 //string that you looking for char suchString[40]; //Variable to select what kind of data you looking for int selection= 0; //should be true if string is less than 39 signs bool suchStrisOk = false; //will be true if string is founded bool foundStr = false; cout << "weahlen die aus nach welchen Daten sie suchen wollen"<<endl; cout << "1.Anrede\n2.Vorname\n3.Nachname\n4.strassenname\n5.plz\n6.Wohnort\n7.vorwahl\n8Telefonnummer\n"; //what should function look for cin >> selection; cout << "Geben sie ein welchen Begriff sie suchen möchten" << endl; //what string should function look for? cin >> suchString; if (cin) { suchStrisOk == true; } else { suchStrisOk == false; } //您要查找的字符串 char-suchString[40]; //变量来选择要查找的数据类型 整数选择=0; //如果字符串小于39个符号,则应为true bool-suchStrisOk=false; //如果建立字符串,则为true bool foundStr=false; cout

避免在字符数组中输入太长 问候语我喜欢C++中的电话簿。 现在我想做一个搜索函数,你可以输入你想要搜索的内容。 比如第一个名字或者第二个名字。 之后,你可以键入你想要搜索的字符数组。我用cin做了这个。 现在,我尝试创建一个if子句,以避免在保存输入的Char数组中出现过载,但到目前为止,它还不起作用 //string that you looking for char suchString[40]; //Variable to select what kind of data you looking for int selection= 0; //should be true if string is less than 39 signs bool suchStrisOk = false; //will be true if string is founded bool foundStr = false; cout << "weahlen die aus nach welchen Daten sie suchen wollen"<<endl; cout << "1.Anrede\n2.Vorname\n3.Nachname\n4.strassenname\n5.plz\n6.Wohnort\n7.vorwahl\n8Telefonnummer\n"; //what should function look for cin >> selection; cout << "Geben sie ein welchen Begriff sie suchen möchten" << endl; //what string should function look for? cin >> suchString; if (cin) { suchStrisOk == true; } else { suchStrisOk == false; } //您要查找的字符串 char-suchString[40]; //变量来选择要查找的数据类型 整数选择=0; //如果字符串小于39个符号,则应为true bool-suchStrisOk=false; //如果建立字符串,则为true bool foundStr=false; cout,c++,arrays,C++,Arrays,if子句 if (cin) ... 告诉程序检查输入缓冲区是否为空,而不是检查其符号是否过多。 我想一种方法是将用户输入保存到一个临时字符数组(或者更好的是一个更大的数组)中,然后像这样使用strlen()检查输入的内容 但那真是糟糕的做法。相反,为了避免所有这些问题,您可以并且应该简单地使用标准库“字符串”,它不仅提供了一个更为动态的变量来存储符号字符串——它处理了大多数问题(例如溢出),而且还提供了许多有用的函数,如:LimthTh()、.Max()、.Max()(Fin)和更多。C++中

if子句

if (cin) ...
告诉程序检查输入缓冲区是否为空,而不是检查其符号是否过多。 我想一种方法是将用户输入保存到一个临时字符数组(或者更好的是一个更大的数组)中,然后像这样使用strlen()检查输入的内容


但那真是糟糕的做法。相反,为了避免所有这些问题,您可以并且应该简单地使用标准库“字符串”,它不仅提供了一个更为动态的变量来存储符号字符串——它处理了大多数问题(例如溢出),而且还提供了许多有用的函数,如:LimthTh()、.Max()、.Max()(Fin)和更多。C++中的

字符串用
std::string
类型表示。您在Java中是正确的:D喜欢抱歉^^我的老师总是告诉我们在C中把字符数组称为StringIn C,是的---字符数组就是字符串。这不是C++中的情况,这里有一个内置的字符串类型。@ ALOVALOS如果你必须使用一个字符数组,那么签出<代码> STD::GETLIN()允许指定最大输入长度。DLO:D不知道THOS,但是谢谢星期一刚开始用C++工作,如果我现在写256个字符,我又得到一个错误消息:D不是真正的解决方案,但是我可以试试字符串为什么我说“这真的是很糟糕的做法”。.并没有真正解决我的问题,但u给了我一个很好的提示:D输入现在是一个字符串,我检查它是否小于40个符号,如果是,我将它转换回字符数组
char input[255];
cin >> input;
if (strlen(input) > 39)
    // Error input too long
else
    //copy input to suchString