有谁能告诉我我和弗特尔在这里做错了什么吗?
我只是在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等
最佳答案
您需要将f
作为参数传递给ftell
,而不是i
,因为ftell
需要指向FILE
对象的指针。
关于c - ftell返回-1并崩溃程序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17407298/