You need to pass f
as the argument to ftell
, not i
, since ftell
expects a pointer to a FILE
object.
ftell returning -1 and crashing program
문제
Can anyone please tell me what I'm doing wrong here with ftell?
I'm just messing around in C, and I've found that the following code sends me a terminal message of -1 meaning an error according to https://publib.boulder.ibm.com/infocenter/zos/v1r13/index.jsp?topic=%2Fcom.ibm.zos.r13.bpxbd00%2Fftell.htm, and crashes the program.
What am I doing incorrectly? Is it something to do with pointers?
Thanks
#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;
}
The program is supposed to iterate over 's' (printing it one letter at a time to f), while also printing into the terminal, how far along the array it has traversed. 0 = H, 1 = e, 2 = y, etc
해결책
제휴하지 않습니다 StackOverflow