나는 굉장히 효과적 인 인터넷 검색을하는 동안 아래 코드를 발견했습니다.Loadrunner C 코드 문자열 조작
아래 함수는 전달 된 구분 기호의 마지막 항목을 검색하고 입력 문자열의 나머지 부분을 반환 된 출력 문자열에 저장합니다. (Chaitanya Bhatt @ Performancecompetence.com에 대한 크레딧)
void strLastOccr(char inputStr[100], char* outputStr, char *delim)
{
char *temp, *temp2;
int i = 0;
temp = "";
while (temp!=NULL)
{
if(i==0)
{
temp2 = temp;
temp = (char *)strtok(inputStr,delim);
i++;
}
if(i>0)
{
temp2 = temp;
temp = (char *)strtok(NULL,delim);
}
lr_save_string(temp2,outputStr);
}
}
는 기본적으로 전달하기 위해 두 가지 새로운 옵션을 추가하려고
발생을 없음 :. 대신, 마지막 발생을 디폴트에 중단하고 나머지를 저장하는 발생 특정에 허용 문자열의.
저장할 문자열의 일부 : (왼쪽, 오른쪽) 구분 기호가 발견되면 문자열에 오른쪽이 저장됩니다. 추가 옵션은 구분 기호의 왼쪽 또는 오른쪽에 대해 사용자가 지정할 수 있도록하기위한 것입니다.
공극 strOccr (CHAR inputStr [100]의 char * outputStr 숯불 * DELIM, INT * occrNo 숯불 * stringSide)
그래서 질문 I 위 기능에 필요한 변형이 무엇이며 ? 실제로 할 수 있습니까? 나는 그것을 유지 한 후
UPDATE
가 나는 해결책 운동을 할 수 있었다.
나는 6 시간 동안 내 자신의 질문에 답할 수 없으므로 개선 된 기능을 제공 할 수있는 사람에게 점수가 주어집니다. 특히 나는 코멘트 아래의 코드를 좋아하지 않습니다 "//문자열의 끝에 delim을 제거합니다."
void lr_custom_string_delim_save (char inputStr[500], char* outputStr, char *delim, int occrNo, int stringSide)
{
char *temp, *temp2;
char temp3[500] = {0};
int i = 0;
int i2;
int iOccrNo = 1;
temp = "";
while (temp!=NULL) {
if(i==0) {
temp2 = temp;
temp = (char *)strtok(inputStr,delim);
i++;
}
if(i>0) {
temp2 = temp;
temp = (char *)strtok(NULL,delim);
if (stringSide==0) {
if (iOccrNo > occrNo) {
strcat(temp3, temp2);
// Ensure an extra delim is not added at the end of the string.
if (temp!=NULL) {
// Adds the delim back into the string that is removed by strtok.
strcat(temp3, delim);
}
}
}
if (stringSide==1) {
if (iOccrNo <= occrNo) {
strcat(temp3, temp2);
strcat(temp3, delim);
}
}
// Increase the occurrence counter.
iOccrNo++;
}
}
// Removes the delim at the end of the string.
if (stringSide==1) {
for(i2 = strlen (temp3) - 1; i2 >= 0
&& strchr (delim, temp3[i2]) != NULL; i2--)
// replace the string terminator:
temp3[i2] = '\0';
}
// Saves the new string to new param.
lr_save_string(temp3,outputStr);
}
무엇이 문제입니까? –
당신은 무엇을 실패 했습니까? –
로드 러너 (Loadrunner)가 수십 년 전 애플 IIe에서 플레이 한 비디오 게임을 언급하고 있었다고 생각합니다.에뮬레이터를 작동시킬 시간 ... –