Это, возможно, простой вопрос, но я хочу создать двумерный массив и добавить в него строку, как в java
string str = "text" ;
string [][] array = new [][] string ;
array[i][j] = str ;
Но в C нет строки. Я пробовал вот так, но здесь strcpy () даетошибка. Возвращается к коду сборки.Я пытаюсь прочитать строку за строкой из текста и разделить строку за пробелом и добавить их в структуру. Но сначала я думаю, что должен добавить каждую строку и строку в массиве, а затем сделать итерацию и добавить в поля структуры.
static const char filename[] = "student.txt";
FILE *file = fopen ( filename, "r" );
char line [ 128 ]; /* or other suitable maximum line size */
char delims [ ]=" ";
char *result =NULL;
char list[15];
char arra[128][128];
int i=0;
int j=0;
struct {
char gruppa[10];
char familiya[20];
int uchaste;
struct {
int firsth;
int second;
int third;
int fourht;
int fifth;
} exam;
}student;
for(i=0; i<128; i++)
for(j=0; j<128; j++)
arra[i][j] = '\0';
for(i=0; i<15; i++)
list[i] = '\0';
if ( file != NULL )
{
while ( fgets ( line, sizeof line, file ) != NULL )
{
result = strtok(line,delims);
while (result !=NULL) {
strcpy(list,("%s",result));
strcpy(arra[i][j],list); // Here it gives errror
j++;
result = strtok(NULL,delims);
}
j=0;
i++;
}
fclose ( file );
}
else
{
perror ( filename );
}
getchar();
return 0;