0
그래서 내 문자열을 이와 같이 선언했습니다. keys [25] [50]; 값 [25] [50];문자열 배열의 값을 c로 인쇄
필자는 이전 문자열을 공백으로 나눠서 키/값 배열에 각각 저장하고 있습니다. 배열의 위치에 문자열을 할당하고 printf()를 통해 해당 값을 출력하려고 할 때 문제가 발생한다고 생각합니다. 항상 null입니다. 문자열이나 인쇄물 할당에 문제가 있습니까?
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
올바른 문자열을 표시합니다. 어떤 이유로 문자열을 복사하면 null 또는 다른 값이됩니다. – cj1098
게시물 *** 실제 *** 코드. * 정확한 ** 코드에 "올바른 문자열"을 표시했다는 말입니까? 'printf ("bufcopy : % s", bufcopy);'오른쪽 위'printf ("서버 수신 : % s", keys [i]); 자신의 행동을 보여주는 완전한 샘플을 게시하십시오. 선언문 (질문에 * typed *이 아닌)이 올바른 것으로 가정하면, 다른 논리적 인 것은'buff'가 버퍼가 아닌 포인터로 선언되고 다시 실제 코드가 없다는 것입니다 나는 그것도 결론 지을 수 없다. – WhozCraig