이 코드는 파일에서 정수를 가져 와서 정렬하고 정렬 할 정수의 수인 파일의 첫 번째 정수를 가져오고 그 뒤에 오는 정수는 정렬 할 정수입니다 . 나는 fgets와 sscanf가 함께 작동하는 방법을 모르겠다. 누군가가이 코드에서 fgets와 sscanf가 어떻게 작동하는지 설명 할 수 있습니까?fgets and sscanf
FILE *finput;
int *array_int, c1, no_elem;
char numlines[500];
fgets(numlines, 500, finput);
array_int = (int *)malloc(sizeof(int)*no_elem);
if ((sscanf(numlines, "%d", &no_elem) == 1) && array_int!= NULL)
{
for(c1=0; fgets(numlines, 500, finput) != NULL;)
{
if (sscanf(numlines, "%d", &array_int[c1])==1)
{
++c1;
}
}
}
'fscanf'가 안전하지 않은 이유의 예를 추가 할 수 있습니까? – galymzhan
@galymzhan은 내 머리 꼭대기에서 벗어날 수 없다. 왜? – littleadv
그래서 fgets는 정수를 얻고 sscanf는 그 정수를 array_int에 할당합니까? 내가 맞습니까? 왜 sscanf에 == 1이 있습니까? – John