0
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main()
{
FILE *f;
f = fopen("my file.txt", "w");
int n = 5;
fprintf(f, "n equals to %d", n);
fclose(f);
f = fopen("my file2.txt", "w");
char *txt = "New file";
fwrite(txt, 1, strlen(txt), f);
fclose(f);
f = fopen("my file3.txt", "w");
char *txt2 = "Hello";
for(int i = 0; i < strlen(txt2); i++)
{
printf("Mouse cursor at %d.\n", ftell(f));
fputc(txt2[i], f);
}
fclose(f);
f = fopen(__FILE__, "r");
char str[1024];
while (!feof(f))
{
fscanf(f, "%s", str);
puts(str);
}
putchar('\n');
fclose(f);
f = fopen(__FILE__, "r");
long size = fseek(f, 0, SEEK_END);
char *buffer = malloc(sizeof(char) * size + 1);
fread(buffer, 1, size, f);
puts(buffer);
free(buffer);
fclose(f);
return 0;
}
的代码,您可以在这部分代码看看:打印文件
f = fopen(__FILE__, "r");
long size = fseek(f, 0, SEEK_END);
char *buffer = malloc(sizeof(char) * size + 1);
fread(buffer, 1, size, f);
puts(buffer);
free(buffer);
fclose(f);
我试图打印的代码在我的文件,这是我写的去做吧^ 当我尝试使用puts功能进行打印时,它会打印3个字符: http://i61.tinypic.com/ortdvl.png
第三个字符在每次执行时发生更改。 无论如何,我不知道为什么会发生这种情况,有人可以解释我做错了什么?
fseek()不会返回除成功/失败指示外有用的任何东西。要么你找到了指定的位置,要么你没有。如果你想获得文件的大小,然后寻找到最后,然后使用ftell()或stat()文件,并从那里获取大小数据。 – 2014-09-03 18:32:44
而'ftell'不返回鼠标光标位置。 – jweyrich 2014-09-03 18:34:52
我知道它不会返回鼠标光标x,y我的意思是返回像字符索引的数量?或者你怎么说 – AALC 2014-09-03 19:03:29