`

C文件操作--示例代码存放

阅读更多
from http://blog.csdn.net/lxf464384/archive/2007/10/27/1848714.aspx

Example

/* FOPEN.C: This program opens files named "data"
 * and "data2".It  uses fclose to close "data" and
 * _fcloseall to close all remaining files.
 */

#include <stdio.h>

FILE *stream, *stream2;

void main( void )
{
   int numclosed;

   /* Open for read (will fail if file "data" does not exist) */
   if( (stream  = fopen( "data", "r" )) == NULL )
      printf( "The file 'data' was not opened\n" );
   else
      printf( "The file 'data' was opened\n" );

   /* Open for write */
   if( (stream2 = fopen( "data2", "w+" )) == NULL )
      printf( "The file 'data2' was not opened\n" );
   else
      printf( "The file 'data2' was opened\n" );

   /* Close stream */
   if( fclose( stream ) )
      printf( "The file 'data' was not closed\n" );

   /* All other files are closed: */
   numclosed = _fcloseall( );
   printf( "Number of files closed by _fcloseall: %u\n", numclosed );
}
Output

The file 'data' was opened
The file 'data2' was opened
Number of files closed by _fcloseall: 1


int fseek( FILE *stream, long offset, int origin );
Remarks

The fseek function moves the file pointer (if any) associated with stream to a new location that is offset bytes from origin. The next operation on the stream takes place at the new location. On a stream open for update, the next operation can be either a read or a write. The argument origin must be one of the following constants, defined in Stdio.h: 

SEEK_CUR 
Current position of file pointer 
SEEK_END 
End of file 
SEEK_SET 
Beginning of file 

Example

/* FSEEK.C: This program opens the file FSEEK.OUT and
 * moves the pointer to the file's beginning.
 */

#include <stdio.h>

void main( void )
{
   FILE *stream;
   char line[81];
   int  result;

   stream = fopen( "fseek.out", "w+" );
   if( stream == NULL )
      printf( "The file fseek.out was not opened\n" );
   else
   {
      fprintf( stream, "The fseek begins here: "
                       "This is the file 'fseek.out'.\n" );
      result = fseek( stream, 23L, SEEK_SET);
      if( result )
         printf( "Fseek failed" );
      else
      {
         printf( "File pointer is set to middle of first line.\n" );
         fgets( line, 80, stream );
         printf( "%s", line );

      }
      fclose( stream );
   }
}
Output

File pointer is set to middle of first line.
This is the file 'fseek.out'.


/*
*一个c语言文件操作例子代码参考
*
*文件使用方式        意 义
*“rt”      只读打开一个文本文件,只允许读数据
*“wt”      只写打开或建立一个文本文件,只允许写数据
*“at”      追加打开一个文本文件,并在文件末尾写数据
*“rb”      只读打开一个二进制文件,只允许读数据
*“wb”       只写打开或建立一个二进制文件,只允许写数据
*“ab”       追加打开一个二进制文件,并在文件末尾写数据
*“rt+”      读写打开一个文本文件,允许读和写
*“wt+”      读写打开或建立一个文本文件,允许读写
*“at+”      读写打开一个文本文件,允许读,或在文件末追加数 据
*“rb+”      读写打开一个二进制文件,允许读和写
*“wb+”      读写打开或建立一个二进制文件,允许读和写
*“ab+”      读写打开一个二进制文件,允许读,或在文件末追加数据
*
·字符读写函数 :fgetc和fputc
·字符串读写函数:fgets和fputs
·数据块读写函数:freed和fwrite
·格式化读写函数:fscanf和fprinf
对于文件使用方式有以下几点说明:
1. 文件使用方式由r,w,a,t,b,+六个字符拼成,各字符的含义是:
r(read): 读
w(write): 写
a(append): 追加
t(text): 文本文件,可省略不写
b(banary): 二进制文件
*/

int main()
{
	FILE *fp;
	char ch;
	if((fp=fopen("e10_1.c","rt"))==NULL)
	{
		printf("Cannot open file strike any key exit!");
		exit(1);
	}
	ch=fgetc(fp);
	while (ch!=EOF)
	{
		putchar(ch);
		ch=fgetc(fp);
	}
	fclose(fp);
	return 0;
}



/*
*二、写字符函数fputc
 fputc函数的功能是把一个字符写入指定的文件中,函数调用的
  形式为: fputc(字符量,文件指针); 其中,待写入的字符量可以是字符常量或变量,
  例如:fputc('a',fp);其意义是把字符a写入fp所指向的文件中。
  对于fputc函数的使用也要说明几点:
1. 被写入的文件可以用、写、读写,追加方式打开,
    用写或读写方式打开一个已存在的文件时将清除原有的文件内容,
	写入字符从文件首开始。如需保留原有文件内容,希望写入的字符以文件末开始存放,
	必须以追加方式打开文件。被写入的文件若不存在,则创建该文件。
2. 每写入一个字符,文件内部位置指针向后移动一个字节。
3. fputc函数有一个返回值,如写入成功则返回写入的字符, 否则返回一个EOF。可用此来判断写入是否成功。
[例10.2]从键盘输入一行字符,写入一个文件, 再把该文件内容读出显示在屏幕上。
*/

int main()
{
	FILE *fp;
	char ch;
	if((fp=fopen("e10_1.c","wt+"))==NULL)
	{
		printf("Cannot open file strike any key exit!");
		exit(1);
	}

	printf("input a string:\n");
	ch=getchar();
	while (ch!='\n')
	{
		fputc(ch,fp);
		ch=getchar();
	}
	rewind(fp);
	ch=fgetc(fp);
	while(ch!=EOF)
	{
		putchar(ch);
		ch=fgetc(fp);
	}
	printf("\n");
	fclose(fp);
	return 0;
}
1
3
分享到:
评论

相关推荐

    ajax经典示例代码

    database 目录存放数据库SQL文件 java 目录存放java源文件 webapp 目录存放实例页面及JSP源文件 -------------- 数据库安装说明 -------------- 了解MySQL的用户可以直接使用自己熟悉的方式创建名为ajax的数据库,...

    ESP8266微控制器的示例项目_C语言_代码_相关文件_下载

    大多数情况下,这将用于存放我放在 [我的博客]博客中的与 ESP8266 相关的示例代码,这些代码不值得他们自己的存储库。此存储库中的每个子目录都是一个完全独立的独立构建,具有自己的 make 文件。 到目前为止,此...

    Python使用pickle模块存储数据报错解决示例代码

    可以将对象以文件的形式存放在磁盘上。 pickle模块只能在python中使用,python中几乎所有的数据类型(列表,字典,集合,类等)都可以用pickle来序列化, pickle序列化后的数据,可读性差,人一般无法识别。 接...

    新版Android开发教程.rar

    将会支持 Google 可能发布的手机操作系统或者应用软件,共同开发名为 Android 的开放源代码的移动 系 统。 谷歌早在 2002 年就进入了移动领域,可是由于目前的手机操作系统企业和手机企业相对封闭,提高了 行业的...

    MFC Windows程序设计(第2版修订版)--源代码

     本书随附的CD-ROM包括书中全部示例程序的源代码,它们都在Visual C十十6.0和MFC 6.0环境下编写、编译而成,并在Win32平台上测试通过。如果没有特别说明它们都与Windows 98、WindowsNT4.0及Windows 2000兼容,...

    x-SCAN -V3.3-CN.

    需要“Nessus攻击脚本引擎”源代码、X-Scan插件SDK、示例插件源代码或愿意参与脚本翻译工作的朋友,可通过本站“X-Scan”项目链接获取详细资料:“http://www.xfocus.net/projects/X-Scan/index.html”。 三. 所需...

    X-Scan v3.1

    /dat/nmap-os-fingerprints -- 识别远程主机操作系统所需的操作系统特征码配置文件(主动识别) /dat/wry.dll -- “IP-地理位置”地址查询数据库文件 /dat/*.nsl -- 经过整理的NASL脚本列表 /plugins -- 用于...

    X-Scan

    用于检测弱口令用户 /dat/*_pass.dic -- 密码字典,用于检测弱口令用户 /dat/p0f*.fp -- 识别远程主机操作系统所需的操作系统特征码配置文件(被动识别) /dat/nmap-os-fingerprints -- 识别远程主机...

    TabBars---VC6 IDE增强插件

    用户可以通过图(13)所示的“打包压缩选项设置窗口”设置临时文件存放目录,默认的临时文件存放位置是:C:\unzipped 十二 自动保存文件 “TabBars”提供定时自动保存文件功能。在图(15)所示的设置窗口中可以...

    ASP.NET的网页代码模型及生命周期

    在.aspx页面中,代码隐藏页模型的.aspx页面代码基本上和单文件页模型的代码相同,不同的是在script标记中的单文件页模型的代码默认被放在了同名的.cs文件中,.aspx文件示例代码如下所示。 “C#” AutoEventWireup=...

    利用C/C++二进制读写png文件的方法示例

    二进制文件不是以ASCII代码存放数据的,它将内存中数据存储形式不加转换地传送到磁盘文件,因此它又称为内存数据的映像文件。因为文件中的信息不是字符数据,而是字节中的二进制形式的信息,因此它又称为字节文件。 ...

    Java开发技术大全(500个源代码).

    代码范例列表 第1章 示例描述:本章演示如何开始使用JDK进行程序的开发。 HelloWorldApp.java 第一个用Java开发的应用程序。 firstApplet.java 第一个用Java开发的Applet小程序。 firstApplet.htm 用来装载...

    x-scan v3.3 GUI

    需要“Nessus攻击脚本引擎”源代码、X-Scan插件SDK、示例插件源代码或愿意参与脚本翻译工作的朋友,可通过本站“X-Scan”项目链接获取详细资料:“http://www.xfocus.net/projects/X-Scan/index.html”。 三. 所需...

    JAVA上百实例源码以及开源项目

    Java读写文本文件的示例代码 1个目标文件。 java俄罗斯方块 一个目标文件。 Java非对称加密源码实例 1个目标文件 摘要:Java源码,算法相关,非对称加密  Java非对称加密源程序代码实例,本例中使用RSA加密技术,...

    网络程序设计--ASP (配套源码)

    2.将光盘上的asptemp文件夹全部复制到C:\Inetpub\wwwroot 文件夹下,因为复制的文件属性被设置为只读,考虑到有的数据库文件和文本文件是需要读写的,所以最好将所有文件和文件夹的只读属性去掉。 3.按照本书第2...

    强大的扫描工具x-scan

    需要“Nessus攻击脚本引擎”源代码、X-Scan插件SDK、示例插件源代码或愿意参与脚本翻译工作的朋友 ,可通过本站“X-Scan”项目链接获取详细资料:“http://www.xfocus.net/projects/X- Scan/index.html”。 三. ...

    清华大学Linux操作系统原理与应用

    1.3 开放源代码的Unix/Linux操作系统 8 1.3.1 Unix的诞生和发展 8 1.3.2 Linux的诞生 9 1.3.3 操作系统标准POSIX 9 1.3.4 GNU和Linux 9 1.3.5 Linux的开发模式 10 1.4 Linux内核 10 1.4.1 Linux内核的位置 10 1.4.2 ...

    拿来就用!Python批量合并PDF的示例代码

    如果换成你操作的话,是不是打开百度搜索:PDF合并,然后去第三方网站操作,可能会收费不说还担心文件泄漏,现在有请Python出场,简单快速,光速合并,拿走就用! 首先导入需要的库和路径设置 import os from PyPDF...

    上海电机学院C语言实训答案

    解除C语言实训烦恼 “计算机能力强化实训”(C语言)任务书 一、实训目的 C语言程序设计是本科工科类各专业的重要基础课,主要学习程序设计的基本概念和方法,通过本门课程学习,使学生掌握C语言的基本原理,熟练...

    用pycharm开发django项目示例代码

    在pycharm(企业版)中新建Django工程,...Django的开发遵循MTV模式(models, templates, views),views.py负责执行操作,models.py负责数据处理(如数据库连接),templates目录下存放网页的模板 首先在templates下新

Global site tag (gtag.js) - Google Analytics