0
所以我宣佈我的字符串是這樣的 keys [25] [50];值[25] [50];在c中打印字符串數組的值
我有一個以前的字符串,我在whitespaces分裂,然後將值分別存儲到鍵/值數組。問題出現在我想要分配一個字符串到數組中的某個位置,然後通過printf()打印出該值的時候。它始終爲空。我是否在字符串或打印的分配方面做錯了什麼?
strcpy(buff, buf);
bufcopy = strtok(buff, " ");
if (strcmp(job, "PUT") == 0) {
//keys[i] = bufcopy;
strcpy(keys[i], bufcopy);
printf("server received: %s", keys[i]);
i++;
}
什麼'printf(「bufcopy:%s」,bufcopy);'show? – sdanzig
它顯示正確的字符串。出於某種原因複製字符串會導致它爲空或其他值。 – cj1098
*** ***真***代碼。你是說它在*這個**準確的***代碼中顯示「正確的字符串」?如:'printf(「bufcopy:%s」,bufcopy);'在'printf(「服務器收到:%s」,鍵[i])上方''?發佈展示您行爲的工作完整樣本。假設聲明(不在代碼中而不在*問題中)是正確的,那麼唯一的其他邏輯就是'buff'被聲明爲一個指針而不是一個緩衝區,並且沒有* real *代碼我也不能斷定。 – WhozCraig