다음 코드는 strtok을 사용하여 일부 char 토큰을 가져오고이 토큰을 하나씩 테이블에 유지하고 마지막으로이 토큰을 인쇄합니다. 내 오류가 표 행에 있습니다배열의 문자 포인터 값
error: invalid conversion from 'char* to 'char''
뭔가 내가 포인터와 문자에 대한 오해와 나는 (I)는 다음과 같은 형식을 갖고 싶어() 테이블 라인을 작성하는 방법을 모르겠어요. 같은 것을 시도했습니다
table[i][5+(i/2)] = *ptr;
하지만 세그먼트 결함이 있습니다.
i = 0;
int offset = 5;
char* ptr;
ptr = strtok(buff,"do something");
char table[1][10];
while (ptr != NULL)
{
if (i == 0)
strcat(machine, ptr);
if (i == 2)
strcat(number, ptr);
if (i == 4)
strcat(hr, ptr);
if (i == 6)
strcat(dw, ptr);
if (i == 8)
strcat(vcc, ptr);
ptr = strtok(NULL,"do something");
table[i][5+(i/2)] = ptr;
i++;
}
printf("Final: %s, %s, %s, %s, %s\n", machine, number, hr, dw, vcc);
'table [i] [5+ (i/2)] = * ptr;은 정확합니다. 세분화 오류는 'i'가 테이블 크기를 초과하기 때문입니다. – Maroun