Я пытаюсь написать код, который читает 1 байт (идеальная цель - n байтов, но начиная с 1 байта - поэтому для n байтов, если это проще, предложите)
Ниже приведен код, который я пытался прочитать по 1 байту за раз и вывести его в шестнадцатеричном формате. Но все это куча FFFF
FILE *fp;
int stringlength,i;
/* File can be txt or .bin */
fp = fopen("TestFile3.txt", "r");
if (fp == NULL)
{
puts("Error: Input file cannot be read");
return -1;
}
else
{
size_t i, strlength, lengthOfFile,c;
fseek(fp, 0, SEEK_END);
lengthOfFile = ftell(fp);
printf("length of File is ---- %d \n", lengthOfFile);
while (lengthOfFile)
{
c = fgetc(fp);
printf("%c", c);
lengthOfFile--;
}
putchar('\n');
}
fclose(fp);
return 0;
}
fseek(fp, 0, SEEK_END);
- Как вы думаете, что это делает? - person Iłya Bursov   schedule 19.08.2015else
при выходе из предыдущего блока кода. - person Weather Vane   schedule 19.08.2015fread
- person Kninnug   schedule 19.08.2015c
, но если этоint c
, то все можно сделать с помощьюwhile ((c = fgetc(fp)) != EOF) {...}
- person Weather Vane   schedule 19.08.2015c
должно бытьint
,size_t
— очень неправильный тип. И прочитайте о синтаксисе строки формата и правильных аргументах. - person too honest for this site   schedule 19.08.2015