0

谁能告诉我我在这里用 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 等

4

1 回答 1

4

您需要f作为参数传递给ftell,而不是i,因为ftell需要一个指向FILE对象的指针。

于 2013-07-01T14:50:12.260 回答