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