2016-11-20 2 views
0

У меня много проблем с моим кодом C. Я спасаю данные в мою array с помощью этой функции:Как получить доступ к данным из массива строк? C

/** 
* Insert Data into array 
* @param char[] pointer 
*/ 
void insertData(char **data) { 
    int i; 

for (i = 0; i < 2; i++) { 
     data[i] = malloc(10000); 
     printf("Nombre del paciente %d: ", i+1); 
     scanf("%s", &data[i][0]); 
     printf("Habitacion: "); 
     scanf("%s", &data[i][1]); 
     printf("Cama: "); 
     scanf("%s", &data[i][2]); 
     free(*data); 
    } 
} 

Моих переменного данные: char data[2][3];

И я пытаюсь показать эти данные со следующей функцией:

void mostrarResultados(char **data) { 
int i,j; 
for (i = 0; i < 2; i++) { 
    printf("\n"); 
    for (j = 0; j < 3; j++) { 
     printf("%c ", data[i,j], **data); 
    } 
    } 
} 

Но консоль return меня странные символы: enter image description here

Что я делаю wron г?

Для этих функций я называю их так:

//First menu 
    do{ 
     switch (option){ 
      case 1: 
       insertData(data); 
       setFirstTime(false); 
       mostrarResultados(data); 
       break; 
      case 2: 
       exit(0); 
       break; 
     } 
    } while (option == 0); 
} 

Большое спасибо за вашу помощь!

ответ

1

Я думаю, что лучше использовать структуру для хранения данных. Коснуться как

Struct data { 
    char nombre[32]; 
    Char habitacion[32]; 
    char cama[32]; 
} 

И таНос в STRUCT таНос (SizeOf (структура данных) * Н.Р. из структуры вы хотите)

+0

Да, но я должен объявить 20 новых структур, потому что я делаю пример с массивом [2], но в будущем я хочу сделать с 20, и мне нужно сделать 20 данных Data Data1; и т. д. – Sermanes

+0

Но вы можете создать массив структур – baliman

+0

Iteresting, большое вам спасибо, я изучаю C :) – Sermanes

0

При программировании на C или C++, вы должны включить предупреждения компилятора, понять их и исправить их правильно. Все остальное безответственно.

В этом случае компилятор будет предупреждать о вызове printf, поскольку вы передаете неправильный тип (и число) аргументов.

Смежные вопросы