input1
을 function
문자열 (첫 번째 단어는 input1
)에 포함하고 arguments
문자열 (나머지는 input1
을 포함)로 나눠야합니다. function
문자열과 arguments
문자열을 인쇄하려고하면 빈 것으로 표시됩니다.왜이 분할 기능이 작동하지 않습니까?
어떻게해야합니까?
void split (string input1, string function, string arguments){
bool args = false;
string undefined;
for (int i = 0; i < input1.length(); i++){
if (input1[i] == ' '){
if (i == 0) {
input1.erase(0, 1);
} else if (i == (input1.length() - 1)){
input1.erase((input1.length() - 1), 1);
} else {
if (!args) {
for (int o = 0; o < undefined.length(); o++)
function.push_back(undefined[o]);
args = true;
} else if (args) {
for (int u = 0; u < undefined.length(); u++)
arguments.push_back(undefined[u]);
}
}
} else {
if (i == (input1.length() - 1)){
undefined.push_back(input[i]);
if (!args)
for (int u = 0; u < undefined.length(); u++)
function.push_back(undefined[u]);
else
for (int e = 0; e < undefined.length(); e++)
arguments.push_back(undefined[e]);
} else {
undefined.push_back(input[i]);
}
}
}
}
이 질문은 C++와 비슷한 것으로 간주되므로 c 태그를 제거하십시오. –
디버거를 사용하여 코드를 단계별로 실행하는 방법을 배워야 할 수도 있습니다. 좋은 디버거를 사용하면 한 줄씩 프로그램을 실행하고 예상 한 곳에서 벗어난 곳을 볼 수 있습니다. 프로그래밍을 할 때 필수적인 도구입니다. 추가 읽기 : ** [작은 프로그램을 디버깅하는 방법] (http://ericlippert.com/2014/03/05/how-to-debug-small-programs/) ** – NathanOliver
왜 내가 이런 부끄러운 의심을 가지고 있습니까? 문자열에서 단어를 추출하기 위해 지나치게 복잡해 보입니까? 왜 전화가 지워지 죠? – PaulMcKenzie