惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Security Archives - TechRepublic
Security Archives - TechRepublic
W
WeLiveSecurity
Hacker News: Ask HN
Hacker News: Ask HN
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
H
Heimdal Security Blog
Help Net Security
Help Net Security
T
Troy Hunt's Blog
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Application and Cybersecurity Blog
Application and Cybersecurity Blog
Recent Commits to openclaw:main
Recent Commits to openclaw:main
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
N
News | PayPal Newsroom
TaoSecurity Blog
TaoSecurity Blog
T
Threat Research - Cisco Blogs
NISL@THU
NISL@THU
G
GRAHAM CLULEY
S
Security @ Cisco Blogs
The Hacker News
The Hacker News
SecWiki News
SecWiki News
www.infosecurity-magazine.com
www.infosecurity-magazine.com
Simon Willison's Weblog
Simon Willison's Weblog
C
Cisco Blogs
A
Arctic Wolf
S
Securelist
Hacker News - Newest:
Hacker News - Newest: "LLM"
AI
AI
N
News and Events Feed by Topic
L
LINUX DO - 热门话题
P
Privacy & Cybersecurity Law Blog
Google Online Security Blog
Google Online Security Blog
T
The Exploit Database - CXSecurity.com
The Last Watchdog
The Last Watchdog
S
Secure Thoughts
Webroot Blog
Webroot Blog
Scott Helme
Scott Helme
L
Lohrmann on Cybersecurity
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Cisco Talos Blog
Cisco Talos Blog
S
Schneier on Security
Latest news
Latest news
T
Threatpost
K
Kaspersky official blog
Know Your Adversary
Know Your Adversary
Schneier on Security
Schneier on Security
I
Intezer
PCI Perspectives
PCI Perspectives
S
Security Affairs
爱范儿
爱范儿
GbyAI
GbyAI
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC

博客园 - lei1217

(转)android 4.0 蓝牙服务开启流程分析 转:MTK分布式编译提高编译速度(IncredBuild) 使用.NET实现断点续传(转载) MTK 图层,详细讲解加案例(转载) 字符串颠倒 .net的RadioButtonList控件的脚本操作 socket编程原理 C#请求远程服务器的资源 SQL2000 文件与文件组操作 [转载]SQL Server 2005对海量数据处理 HTTP参考 - 转载 HTTP协议详解 - 转载 ASPAJAXExtSetup 转载 Response.ContentType 的参数属性 C语言文件操作 Web/Js 调色板 进制转换 计算机进制转换汇总 浮动广告
标准文件读写操作
lei1217 · 2008-07-21 · via 博客园 - lei1217

文件使用方式        意 义
“rt”      只读打开一个文本文件,只允许读数据
“wt”      只写打开或建立一个文本文件,只允许写数据
“at”      追加打开一个文本文件,并在文件末尾写数据
“rb”      只读打开一个二进制文件,只允许读数据
“wb”       只写打开或建立一个二进制文件,只允许写数据
“ab”       追加打开一个二进制文件,并在文件末尾写数据
“rt+”      读写打开一个文本文件,允许读和写
“wt+”      读写打开或建立一个文本文件,允许读写
“at+”      读写打开一个文本文件,允许读,或在文件末追加数 据
“rb+”      读写打开一个二进制文件,允许读和写
“wb+”      读写打开或建立一个二进制文件,允许读和写
“ab+”      读写打开一个二进制文件,允许读,或在文件末追加数据
SEEK_SET从距文件开头offset位移量为新的读写位置。SEEK_CUR 以目前的读写位置往后增加offset个位移量。
SEEK_END将读写位置指向文件尾后再增加offset个位移量。
当whence值为SEEK_CUR 或SEEK_END时,参数offset允许负值的出现。
下列是较特别的使用方式:
1) 欲将读写位置移动到文件开头时:fseek(FILE *stream,0,SEEK_SET);
2) 欲将读写位置移动到文件尾时:fseek(FILE *stream,0,0SEEK_END);

1、编程实现读出磁盘文件datafile.txt中的内容,将它们显示在屏幕上

#include<stdio.h>
#include
<stdlib.h>
#include
<conio.h>void main()
{
    FILE 
*fp;
    
char ch;
    
if((fp=fopen("c:\\datafile.txt","r"))==NULL)
    {
        printf(
"file cannot be opened!\n");
        exit(
1);
    }
    
while((ch=fgetc(fp))!=EOF)
        fputc(ch,stdout);
    fclose(fp);
    getch();
}

2、编程完成从键盘输入字符后,写入到磁盘文件datafile.txt中

#include<stdio.h>
#include
<stdlib.h>
#include
<conio.h>void main()
{
    FILE 
*fp;
    
char ch;
    
if((fp=fopen("c:\\datafile.txt","w"))==NULL)
    {
        printf(
"file cannot be opened!\n");
        exit(
1);
    }
    
while((ch=fgetc(stdin))!='\n')
        fputc(ch,fp);
    fclose(fp);
    getch();
}

3、逐行读出datafile.txt文件中的字符并显示出来

#include<stdio.h>
#include
<stdlib.h>
#include
<conio.h>void main()
{
    FILE 
*fp;
    
char buffer[64];
    
if((fp=fopen("c:\\datafile.txt","r"))==NULL)
    {
        printf(
"file cannot be opened!\n");
        exit(
1);
    }
    
while(!feof(fp))
    {
        
if(fgets(buffer,64,fp)!=NULL)
            printf(
"%s",buffer);
    }
    fclose(fp);
    getch();
}

4、从键盘输入若干行字符,把它们添加到磁盘文件datafile.txt中

#include<stdio.h>
#include
<stdlib.h>
#include
<conio.h>
#include
<string.h>void main()
{
    FILE 
*fp;
    
char buffer[64];
    
if((fp=fopen("c:\\datafile.txt","a"))==NULL)
    {
        printf(
"file cannot be opened!\n");
        exit(
1);
    }
    
while(strlen(fgets(buffer,64,stdin))>1)
    {
        fputs(buffer,fp);
        fputs(
"\n",fp);
    }
    fclose(fp);
    getch();
}

编程完成读出文件中的内容,反序输出到屏幕中

#include<stdio.h>
#include
<stdlib.h>
#include
<conio.h>
#define N 5000void main()
{
    FILE 
*sfp;
    
int i;
    
char buf[N];
    
if((sfp=fopen("c:\\datafile.txt","r"))==NULL)
    {
        printf(
"Source file cannot be opened!\n");
        exit(
1);
    }
    i
=0;
    
while(!feof(sfp))
    {
        buf[i
++]=fgetc(sfp);
        
if(i>=N)
        {
            printf(
"buffer not enough!");
            exit(
1);
        }
    }
    
while(--i>=0)
        fputc(buf[i],stdout);
    fclose(sfp);
    getch();
}