Может ли кто-нибудь сказать мне, что я делаю неправильно здесь с ftell?
Я просто возился с C и обнаружил, что следующий код отправляет мне терминальное сообщение -1, что означает ошибку в соответствии с https://publib.boulder.ibm.com/infocenter/zos/v1r13/index.jsp?topic=%2Fcom.ibm.zos.r13.bpxbd00%2Fftell.htm и приводит к сбою программы.
Что я делаю неправильно? Это как-то связано с указателями?
Спасибо
#include <stdio.h>
#include <string.h>
int main()
{
FILE * f;
char * s = "Hey Buddy!";
f = fopen("myFile.txt", "w");
int count = strlen(s);
for (int i = 0; i < count; i++)
{
printf("%d\n", ftell(i));
fputc(s[i], f);
}
fclose(f);
return 0;
}
Предполагается, что программа перебирает «s» (печатая ее по одной букве за раз до f), а также печатает в терминале, как далеко по массиву она прошла. 0 = H, 1 = e, 2 = y и т. д.