Δημοσιεύτηκε: 11 Ιούλ 2011, 13:05
από linuxs
Όταν έχουμε ορίσει
Κώδικας: Επιλογή όλων
char **buf;
και κάνουμε με malloc έναν διδιάστατο πίνακα το buf[0] δεν είναι char *?

Παραθέτω και τον κώδικά μου έτσι στα γρήγορα...αλλα κάτι δεν πάει καλά!

Όσοι θέλουν να δοκιμάσουν μόνοι τους μην δείτε τον κώδικα. Μην αντιγράφετε σας παρακαλώ! :lol: :lol: :lol: :lol: :lol:


Spoiler: show
#include <stdio.h>
#include <stdlib.h>
#define N 10
#define M 10

int main(void) {
char sent[100]="this is sparta";
char **buf;
int i, j, flag;
buf = (char **)malloc(N*sizeof(char *));
for(i=0; i<N; i++) {
buf[i] = (char *)malloc(M*sizeof(char));
}

if(buf==NULL) {
printf("Error in allocating space!\n");
exit(1);
}

buf[0] = strtok(sent," ");
flag=1;
while(1){
buf[flag] = strtok(NULL," ");
flag++;
}

for(i=N; i<=0; i--){
for(j=0; j<M; j++) {
printf("buf[%d][%d]: %s", i, j, buf[i]);
}
}
return 0;
}


EDIT: Όταν λέω εγώ να κανω στην αρχή cpy/paste όλες τις βιβλιοθήκες! :lol: :lol: