i передать buf для массива first is schArray [i] [0] = buf;Почему вторая программная 2D-матрица 2D заменяет первую строку
, например, мне нужно buf
в schArray
ABCDEFG to [0][0]
1234567 to [1][0]
, но я не могу делать этого результата
мой результат второй строки заменить первую строку
Time 1: [0][0] = ABCDEFG
[1][0] = null
Time 2 :[0][0] = 1234567
[1][0] = 1234567
заменить [0] [0]
char ***schArray;
int q,k;
schArray = (char***)malloc(sizeof(char*)*1000);
for(q = 0; q < 1000; q++){
schArray[q] = (char**)malloc(sizeof(char)*100);
for(k = 0; k < 1000; k++){
schArray[q][k] = (char*)malloc(sizeof(char)*100);
}
}
while(strncmp(buf, KEYWORD_endP,KEYWORD_PS_SZ)!=0){
schArray[commandnum][0] = buf;
printf("%s\n",schArray[0][0]);
printf("%s\n",schArray[1][0]);
printf("%s\n",schArray[2][0]);
val=printCommand(buf);
printf("child: %d\n",val);
// printf("child:%d",val);
memset(buf, 0, 80);
write(cTop[i][1],&buf,80*sizeof(char));
read(pToc[i][0],&buf,80*sizeof(char));
commandnum++;
}
ожидается выход
ABCDEFG
1234567
фактический выход
1234567
1234567
'schArray [Q] = (символ **) таНос (SizeOf (Char) * 100)' 'должно быть schArray [Q] = таНос (SizeOf (символ *) * 100)' (правильный тип; без литья); кроме этого, ваш вопрос, к сожалению, не ясен. Можете ли вы предоставить фактический и ожидаемый результат вашего приложения? – anatolyg