我的代碼有問題,我需要你的幫助!我需要做的是編寫一個函數,該函數將從輸入的字符串中提取從www.
開始並以.edu
開頭的網址。輸入的字符串中沒有空格,所以scanf()
應該在這裏工作。從C中的一個字符串中提取網址地址
例如:
http://www.school.edu/admission
。提取的地址應該是www.school.edu
。
這是我到目前爲止所做的,顯然沒有奏效,我不能想到其他任何事情。
void extract(char *s1, char *s2) {
int size = 0;
char *p, *j;
p = s1;
j = s2;
size = strlen(s1);
for(p = s1; p < (s1 + size); p++) {
if(*p == 'w' && *(p+1) == 'w' && *(p+2) == 'w' && *(p+3) == '.'){
for(p; p < (p+4); p++)
strcat(*j, *p);
}
else if(*p=='.' && *(p+1)=='e' && *(p+2)=='d' && *(p+3)=='u'){
for(p; (p+1) < (p+4); p++)
strcat(*j, *p);
}
}
size = strlen(j);
*(j+size+1) = '\0';
}
該函數具有使用指針運算。我得到的錯誤與不兼容的類型和轉換有關。謝謝!
請在問題中包含**全**錯誤消息。這對我們有很大的幫助。 –
將'char'數據傳遞給'strcat()'不是一個好主意。 – MikeCAT
'p <(p + 4)'和'(p + 1)<(p + 4)'總是如此。 – MikeCAT