Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.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++;拆分字符串 我自己用一本书学习C++,我已经习惯了一项练习。我应该把一个字符串分成两部分,每个部分用空格隔开,然后忘记其余部分,但是我的代码不会因为某种原因忘记其余部分 #include <iostream> #include <iomanip> #include <string> using namespace std; int main(){ string original; string first; string second; bool firstDone = false; bool secondDone = false; int firstSpace = 0; int secondSpace = 0; cout << "Enter string: "; getline(cin, original); cout << "The original string is: " << original << endl; for(int i = 0; i < original.length(); i++) { if(original[i] == ' ' && !firstDone){ firstSpace = i; firstDone = true; } else if(original[i] == ' ' && !secondDone){ secondSpace = i; secondDone = true; } } cout << "The first space is at: " << firstSpace << endl << "The second space is at: " << secondSpace << endl; first = original.substr(0, firstSpace); second = original.substr(firstSpace + 1, secondSpace); cout << "The first string is: " << first << endl << "The second string is: " << second << endl; return 0; } #包括 #包括 #包括 使用名称空间std; int main(){ 字符串原件; 先串; 弦秒; bool firstDone=false; bool secondone=false; int firstSpace=0; int secondSpace=0; cout_C++_String - Fatal编程技术网

c++;拆分字符串 我自己用一本书学习C++,我已经习惯了一项练习。我应该把一个字符串分成两部分,每个部分用空格隔开,然后忘记其余部分,但是我的代码不会因为某种原因忘记其余部分 #include <iostream> #include <iomanip> #include <string> using namespace std; int main(){ string original; string first; string second; bool firstDone = false; bool secondDone = false; int firstSpace = 0; int secondSpace = 0; cout << "Enter string: "; getline(cin, original); cout << "The original string is: " << original << endl; for(int i = 0; i < original.length(); i++) { if(original[i] == ' ' && !firstDone){ firstSpace = i; firstDone = true; } else if(original[i] == ' ' && !secondDone){ secondSpace = i; secondDone = true; } } cout << "The first space is at: " << firstSpace << endl << "The second space is at: " << secondSpace << endl; first = original.substr(0, firstSpace); second = original.substr(firstSpace + 1, secondSpace); cout << "The first string is: " << first << endl << "The second string is: " << second << endl; return 0; } #包括 #包括 #包括 使用名称空间std; int main(){ 字符串原件; 先串; 弦秒; bool firstDone=false; bool secondone=false; int firstSpace=0; int secondSpace=0; cout

c++;拆分字符串 我自己用一本书学习C++,我已经习惯了一项练习。我应该把一个字符串分成两部分,每个部分用空格隔开,然后忘记其余部分,但是我的代码不会因为某种原因忘记其余部分 #include <iostream> #include <iomanip> #include <string> using namespace std; int main(){ string original; string first; string second; bool firstDone = false; bool secondDone = false; int firstSpace = 0; int secondSpace = 0; cout << "Enter string: "; getline(cin, original); cout << "The original string is: " << original << endl; for(int i = 0; i < original.length(); i++) { if(original[i] == ' ' && !firstDone){ firstSpace = i; firstDone = true; } else if(original[i] == ' ' && !secondDone){ secondSpace = i; secondDone = true; } } cout << "The first space is at: " << firstSpace << endl << "The second space is at: " << secondSpace << endl; first = original.substr(0, firstSpace); second = original.substr(firstSpace + 1, secondSpace); cout << "The first string is: " << first << endl << "The second string is: " << second << endl; return 0; } #包括 #包括 #包括 使用名称空间std; int main(){ 字符串原件; 先串; 弦秒; bool firstDone=false; bool secondone=false; int firstSpace=0; int secondSpace=0; cout,c++,string,C++,String,实际上,substr()第二个参数是从第一个参数中提到的起始偏移量开始的字符串长度。请执行以下操作: second = original.substr(firstSpace + 1, secondSpace-(firstSpace+1)); 哦,第二个参数是长度,而不仅仅是终点?现在这更有意义了,非常感谢。

实际上,substr()第二个参数是从第一个参数中提到的起始偏移量开始的字符串长度。请执行以下操作:

second = original.substr(firstSpace + 1, secondSpace-(firstSpace+1));

哦,第二个参数是长度,而不仅仅是终点?现在这更有意义了,非常感谢。