我有下面的代碼,它用strtok獲取一些char標記,它將這些標記一個接一個地保存在表中,最後打印這些標記。我的錯誤是在錶行:數組中的字符指針值
error: invalid conversion from 'char* to 'char''
東西我誤解有關指針和文字,我不知道怎麼寫錶行((我想有以下格式))。我試過類似
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;'是正確的。分段錯誤是因爲「我」超過了表格尺寸。 – Maroun