Я держу адресностиошибка: инициализатор элемент не является постоянной C
`error: initializer element is not constant
FILE *file = fopen("/sys/class/hwmon/hwmon0/temp1_input", "r");
temperatura.c:19:14: error: expected ‘)’ before string constant
fscanf(file ,"%s", &temp);`;
мой весь код выглядит следующим образом:
#define temp4M 1000
FILE *file = fopen("/sys/class/hwmon/hwmon0/temp1_input", "r");
char temp[temp4M];
fscanf(file ,"%s", &temp);
int main()
{
printf(" CPU cores :%d\n", corCPU);
printf("%s", modCPU);
printf("%d",temp);
return 0;
}
проблема в моем пути к файлу или я что-то отсутствует, обратите внимание, что я am чтение чисел из temp1_input как строки вместо чисел. что не так?
Вы не можете вызвать функцию в глобальной области. C не является языком сценариев. Таким образом, вызовы 'fopen' и' fscanf' должны находиться внутри 'main'. – user3386109
вы не можете выставить код вне метода. Я должен переместить fopen, fscant etc insode main – pm100
Одна вещь: 'fscanf (file,"% s ", &temp);' должен быть 'if (fscanf (файл,"% s ", temp)! = 1) {// код ошибки } 'note Я также удалил' & '. * Всегда * проверяйте возвращаемое значение из семейства' scanf'. В противном случае это может быть [GIGO] (https://en.wikipedia.org/wiki/Garbage_in,_garbage_out) , –