Итак, у меня была эта проблема, которую я пытался решить в течение примерно 8 часов ... Я отказался от поиска ответа без посторонней помощи. Я пробовал использовать realloc()
и malloc()
соответственно, поэтому любой вход был бы замечательным!правильное распределение памяти для строк
Цель этого существа в C состоит в том, чтобы разрешить создание «карты», позже я буду использовать ncurses для создания карты.
вход из файла выглядит следующим образом
10X16 de4 dw9 ds8 g8,7 m3,4 h6,5 p2,2
6X20 dn5 ds4 W4,3 e2,12 M1,1
10X13 ds3 dw9
10X12
5X4
6x12
Вот код:
char *importLevel()
{
FILE *fPointer;
fPointer = fopen("Level", "r"); //Opens text file to read
char* rooms[150];// set up for memory allocation
char commands[150];// set up for pulling data from read file
while (!feof(fPointer))
{
fgets(commands,150, fPointer); // this takes each line from the file
}
*rooms = (char *) malloc(150 * sizeof(char)); // memory allocation
for (int i = 0; i < 150; i++)
{
if (rooms[i] != NULL)
{
*rooms[i] = commands[i]; // supposed to give rooms the string
}
}
fclose(fPointer);// close file
return *rooms; // return pointer
}
Я надеюсь, что я не так глуп, как я чувствую прямо сейчас! Спасибо :)
Изменить: Я так глуп, как я чувствовал себя хорошо, то
Ваш код вздор. Итак, сначала вам нужно будет объяснить, как вы хотите в этом коде. – BLUEPIXY
sorry @BLUEPIXY Im new here – Blueshadoe
Вы, кажется, новичок в C, также. Вам нужно будет предоставить * много больше контекста, например ... что должен делать этот код? Каков формат вашего ввода? почему вы используете C для решения этой проблемы? и т. д. –