我想把一個字符串操作外包給一個函數,然後詢問main的結果。這不起作用,我不明白爲什麼。外包strtok()函數中的c
#include <stdio.h>
#include <string.h>
void splitRequest(char request[], char method[], char ressource[], char proto[]) {
method = strtok(request, " ");
ressource = strtok(NULL, " ");
proto = strtok(NULL, " ");
printf("\nResult:\n\nmethod:\t\t%s\nressource:\t%s\nproto:\t\t%s\n",method,ressource,proto);
}
int main()
{
char method[50], ressource[50], proto[50], request[50];
memset(method, '\0', 50);
memset(ressource, '\0', 50);
memset(proto, '\0', 50);
memset(request, '\0', 50);
strcpy(request,"Get /index.htm HTTP/1.1");
//rehash query
splitRequest(request, method, ressource, proto);
//check Results
printf("\nResult:\n\nmethod:\t\t%s\nressource:\t%s\nproto:\t\t%s\n",method,ressource,proto);
return 0;
}
我有沒有正確認識,即*溫度則成爲局部變量請求指向某一部分?此外,這些字符串都是從main複製到splitRequest的? – Linz
@Linz更新了我的回答 –
非常感謝您的詳細解釋。我想我現在已經明白了。 – Linz