#include <stdio.h>
#include <stdlib.h>
int main()
{
FILE *buildingsptr;
int ptr2[8];
buildingsptr=fopen("buildings.txt","r");
fscanf(buildingsptr, "%d", &ptr2);
printf("%d", ptr2);
getch();
return 0;
}
У меня есть более крупный код, и я обнаружил, что эта часть вызывает проблему. В файле «buildings.txt» есть целые числа в нем, например 24 или 7, я просто хочу напечатать первый номер текста, но этот код дает мне номер 2293296, я новичок в кодировании, поэтому я не мог Решите мою проблему, буду благодарен, если вы мне поможете. :)Использование fscanf с массивом
Большое вам спасибо, я решил. Но у меня есть другой вопрос, если у вас есть время ответить, я буду использовать malloc вместо массива, я получаю эти целые числа из файла .txt, я отправляю эти числа указателю, который реализуется malloc, а затем я хочу получить доступ той части памяти, которая выделяется malloc. Я помню что-то, что я могу использовать указатель, который имеет главный адрес части памяти, как массив. Например, 'ptr2 = (int *) malloc (a * sizeof (int))'; затем 'fscanf (buildingsptr,"% d ", ptr2)'; как я могу напечатать свои номера на экране? Я попробовал цикл «for», как ptr [i], и я потерпел неудачу. – user3648312
печатать с 'printf ("% d \ n ", * ptr2);' – pmg
@ user3648312 начинать с не литья malloc: 'ptr2 = malloc (a * sizeof * ptr2);' Приведение происходит с 30 лет назад, с тех пор люди не скопировали их, не применяя мозг. Кроме того, вы получаете доступ к этому массиву так же, как и к другому: 'ptr2 [n]' для доступа к элементу 'n'-th, индексированному с' 0'. –