C语言 关于fgetc 函数
发布网友
发布时间:2022-04-27 06:46
我来回答
共4个回答
热心网友
时间:2022-06-27 23:10
fgetc函数的功能:从文件指针stream指向的文件中读取一个字符,读取一个字节后,光标位置后移一个字节。
格式:int fgetc(FILE *stream);
说明:这个函数的返回值,是返回所读取的一个字节。如果读到文件末尾或者读取出错时返回EOF。
示例:
#include <string.h>
#include <stdio.h>
#include <conio.h>
int main(void)
{
FILE *stream;
char string[ ] = "This is a test";
int ch;
/* open a file for update */
stream = fopen("DUMMY.FIL", "w+");
/* write a string into the file */
fwrite(string, strlen(string), 1, stream);
/* seek to the beginning of the file */
fseek(stream, 0, SEEK_SET);
do
{
/* read a char from the file */
ch = fgetc(stream);
/* display the character */
putch(ch);
}
while (ch != EOF);
fclose(stream);
return 0;
}
热心网友
时间:2022-06-27 23:11
每次运行fgetc,都会重新去获得一次字符,你在putchar(fgetc(fp));中的fgetc所获得的字符,和fputc(fgetc(fp,fp2)所获得的字符是不同的两个字符。追问对奥!怪不得控制台输出的,跟文件输出的,缺的字符不同!!感谢!
热心网友
时间:2022-06-27 23:11
你确定你这个程序没问题?
fp2=fopen("D:\\C\\file5\\file2.txt","w");
这行代码的结果是,如果不存在该文件,则会创建一个文件,如果该文件已存在,则会删除该文件,再创建一个新的以该文件名命名的文件,也就是说,你这样写了以后,文件里面就没东西了。
要是想在原文件的末尾追加内容,应该用"a"的方式打开文件才对。
热心网友
时间:2022-06-27 23:12
while(!feof(fp))
{
putchar(fgetc(fp));
fweek(fp,ftell(fp)-1,0);\\这里加1句
fputc(fgetc(fp,fp2);
}追问谢谢!可惜刚才已经选了最佳答案了,还是谢谢哈