- 阅读权限
- 255
- 威望
- 1 级
- 论坛币
- 49655 个
- 通用积分
- 55.9937
- 学术水平
- 370 点
- 热心指数
- 273 点
- 信用等级
- 335 点
- 经验
- 57805 点
- 帖子
- 4005
- 精华
- 21
- 在线时间
- 582 小时
- 注册时间
- 2005-5-8
- 最后登录
- 2023-11-26
|
- ungetc(将指定字符写回文件流中)
- 相关函数 fputc,getchar,getc
- 表头文件 #include<stdio.h>
- 定义函数 int ungetc(int c,FILE * stream);
- 函数说明 ungetc()将参数c字符写回参数stream所指定的文件流。这个写回的字符会由下一个读取文件流的函数取得。
- 返回值 成功则返回c 字符,若有错误则返回EOF。
- 复制代码 代码如下:
- #include <stdio.h>
- #include <stdlib.h>
- int main()
- {
- FILE *fp = NULL;
- char* str;
- char re;
- int num = 10;
- str = (char*)malloc(100);
- //snprintf(str, 10,"test: %s", "0123456789012345678");
- // printf("str=%s\n", str);
- fp = fopen("/local/test.c","a+");
- if (fp==NULL){
- printf("Fail to open file\n");
- }
- // fseek(fp,-1,SEEK_END);
- num = ftell(fp);
- printf("test file long:%d\n",num);
- fscanf(fp,"%s",str);
- printf("str = %s\n",str);
- printf("test a: %s\n",str);
- while ((re=getc(fp))!=EOF){//getc可以用作fgetc用
- printf("%c",re);
- }
- //fread(str,10,10,fp);
- fgets(str,100,fp);
- printf("test a: %s\n",str);
- sprintf(str,"xiewei test is:%s", "ABCDEFGHIGKMNI");
- printf("str2=%s\n", str);
- // fprintf(fp,"%s\n",str);
- fwrite(str,2,10,fp);
- num = ftell(fp);
- if(str!=NULL){
- free(str);
- }
- fclose(fp);
- return 0;
- }
复制代码
|
|