在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

C語言_文件IO操作函數總結

DS小龍哥-嵌入式技術 ? 來源:DS小龍哥-嵌入式技術 ? 作者:DS小龍哥-嵌入式技 ? 2022-08-14 09:53 ? 次閱讀

1. 文件IO總結

文件IO操作:  對文件系統里的文件進行:  打開、創建、讀、寫、關閉等運用。
C語言下標準文件IO接口(函數): 
(1)頭文件:  stdio.h    輸入輸出函數:  printf 、scanf
(2)相關函數:  fopen、fread、fwrite、fclose
2.1 標準文件操作有兩套函數:
1.標準C語言下的文件操作接口。fopen系列
常用于:  對普通文件的讀寫。
2.Linux操作系統下的文件操作接口。open系列
常用于:  對設備文件進行讀寫。 (鼠標、鍵盤、聲卡、..)

2. C語言標準文件操作接口

2.1 最常用的4個函數

#include 
//打開文件
FILE *fopen(const char *path, const char *mode); 
//讀文件
size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream);
//寫文件
size_t fwrite(const void *ptr, size_t size, size_t nmemb,FILE *stream);
//關閉文件
int fclose(FILE *fp);

2.3 寫函數的基本運用

#include 
#include 
#include 

int main()
{
	FILE *file;
	int cnt;
	/*1. 打開文件*/
	file=fopen("D:/123.txt","a+b");
	if(file==NULL)
	{
		printf("文件打開失敗!\n");
		return -1;
	}
	/*2. 寫數據*/
	cnt=fwrite("1234567890",1,10,file);
	
    /*3. 關閉文件*/
	fclose(file);

	printf("cnt=%d\n",cnt);
	return 0;
}

2.4 讀函數基本運用

#include 
#include 
#include 

int main()
{
	FILE *file;
	int cnt;
	char buff[100];

	/*1. 打開文件*/
	file=fopen("D:/123.txt","rb"); //malloc
	if(file==NULL)
	{
		printf("文件打開失敗!\n");
		return -1;
	}
	/*2. 寫數據*/
	cnt=fread(buff,1,100,file);
	
    /*3. 關閉文件*/
	fclose(file);  //free 

	buff[cnt]='\0';
	printf("%s\n",buff);
	printf("cnt=%d\n",cnt);
	return 0;
}

2.5 文件指針位置偏移 (自動向后偏移)

#include 
#include 
#include 
int main()
{
	FILE *file;
	int cnt;
	char data;

	/*1. 打開文件*/
	file=fopen("D:/123.txt","rb"); //malloc
	if(file==NULL)
	{
		printf("文件打開失敗!\n");
		return -1;
	}
	/*2. 讀數據---驗證文件指針是否可否自動向后偏移*/
	cnt=fread(&data,1,1,file);
	printf("data=%c\n",data);
	cnt=fread(&data,1,1,file);
	printf("data=%c\n",data);
	cnt=fread(&data,1,1,file);
	printf("data=%c\n",data);
	cnt=fread(&data,1,1,file);
	printf("data=%c\n",data);
	cnt=fread(&data,1,1,file);
	printf("data=%c\n",data);

    /*3. 關閉文件*/
	fclose(file);  //free 
	return 0;
}

2.6 設置文件指針位置

#include 
#include 
#include 
int main()
{
	FILE *file;
	int cnt;
	char data;

	/*1. 打開文件*/
	file=fopen("D:/123.txt","rb"); //malloc
	if(file==NULL)
	{
		printf("文件打開失敗!\n");
		return -1;
	}
	/*2. 偏移文件指針*/
	fseek(file,5,SEEK_SET);

	/*3. 讀數據---驗證文件指針是否可否自動向后偏移*/
	cnt=fread(&data,1,1,file);
	printf("data=%c\n",data);

    /*4. 關閉文件*/
	fclose(file);  //free 
	return 0;
}

2.7 以上午所學的函數,如何判斷文件讀完了?到文件結尾?


#include 
#include 
#include 
int main()
{
	FILE *file;
	int cnt;
	char data;

	/*1. 打開文件*/
	file=fopen("D:/123.txt","rb"); //malloc
	if(file==NULL)
	{
		printf("文件打開失敗!\n");
		return -1;
	}
	/*2. 偏移文件指針*/
	fseek(file,5,SEEK_SET);

	/*3. 讀數據---驗證文件指針是否可否自動向后偏移*/
	while(1)
	{
		cnt=fread(&data,1,1,file);
		if(cnt!=1)break;
		printf("data=%c\n",data);
	}
    /*4. 關閉文件*/
	fclose(file);  //free 
	return 0;
}

2.8 文件讀寫結構體數據

//寫結構體數據
#include 
#include 
#include 
struct MyStruct
{
	int a;
	int b;
	char c[100];
};

int main()
{
	FILE *file;
	int cnt;
	struct MyStruct stu={666,888,"C語言文件操作學習"};

	/*1. 打開文件*/
	file=fopen("D:/123.txt","wb"); 
	if(file==NULL)
	{
		printf("文件打開失敗!\n");
		return -1;
	}

	/*2. 讀數據*/
	cnt=fwrite(&stu,1,sizeof(struct MyStruct),file);
	printf("cnt=%d\n",cnt);

    /*3. 關閉文件*/
	fclose(file);  //free 
	return 0;
}

//讀結構體數據
#include 
#include 
#include 
struct MyStruct
{
	int a;
	int b;
	char c[100];
};

int main()
{
	FILE *file;
	int cnt;
	struct MyStruct stu;

	/*1. 打開文件*/
	file=fopen("D:/123.txt","rb"); 
	if(file==NULL)
	{
		printf("文件打開失敗!\n");
		return -1;
	}

	/*2. 讀數據*/
	cnt=fread(&stu,1,sizeof(struct MyStruct),file);
	printf("cnt=%d\n",cnt);

	printf("%d,%d,%s\n",stu.a,stu.b,stu.c);
    /*3. 關閉文件*/
	fclose(file);  //free 
	return 0;
}

2.9 文件操作的作業練習

1.  學習文件基本讀寫使用
2.  編寫文件拷貝程序。 實現文件拷貝。
3.  文件加密解密實現。 需要編寫一個菜單。
4.   完善學生管理系統。
需要將所有學生信息保存到文件里,完善功能。

審核編輯:湯梓紅
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • C語言
    +關注

    關注

    180

    文章

    7626

    瀏覽量

    139569
  • 文件系統
    +關注

    關注

    0

    文章

    293

    瀏覽量

    20209
  • 函數
    +關注

    關注

    3

    文章

    4363

    瀏覽量

    63775
收藏 人收藏

    評論

    相關推薦

    C語言-文件編程

    這篇文章介紹C語言文件編程函數,案例代碼是在Linux環境下運行測試的分別介紹了C語言標準庫的
    的頭像 發表于 09-09 11:33 ?2188次閱讀

    C語言文件操作

    C語言中沒有輸入輸出語句,所有的輸入輸出功能都用 ANSI C提供的一組標準庫函數來實現。
    發表于 11-09 10:42 ?597次閱讀

    C語言函數如何返回多個數據

    C語言函數如何返回多個數據?這個操作在寫代碼的時候還經常遇到。
    發表于 07-25 10:53 ?1074次閱讀

    linux基本操作C語言基礎

    目錄C語言基礎C++linux基本操作io操作數據結構進程線程網絡編程實戰項目
    發表于 12-17 07:53

    C語言標準庫函數

    C語言標準庫函數,使用C語言編程時,常用到的函數
    發表于 05-11 16:41 ?0次下載

    C語言字符串操作總結大全(超詳細)

    本文對c語言字符串的操作進行了詳細的總結分析,需要的朋友可以參考。
    發表于 11-15 14:19 ?2156次閱讀

    標準IO操作原理及操作函數相關資料下載

    標準IO操作原理及操作函數相關資料下載
    發表于 04-03 16:53 ?4次下載

    C語言數據輸入輸出函數總結資料免費下載

    本文檔的主要內容詳細介紹的是C語言數據輸入輸出函數總結資料免費下載。
    發表于 09-29 15:51 ?6次下載
    <b class='flag-5'>C</b><b class='flag-5'>語言</b>數據輸入輸出<b class='flag-5'>函數</b><b class='flag-5'>總結</b>資料免費下載

    C語言入門教學之函數資料總結免費下載

    本文檔的主要內容詳細介紹的是C語言入門教學之函數資料總結免費下載內容包括了:1 庫函數2 函數
    發表于 10-23 17:53 ?3次下載

    C語言教程之文件函數的詳細資料說明

    本文檔詳細介紹的是C語言教程之文件函數的詳細資料說明主要內容包括了:1.文件的基本概念,2.文本文件
    發表于 02-21 11:11 ?1次下載
    <b class='flag-5'>C</b><b class='flag-5'>語言</b>教程之<b class='flag-5'>文件</b><b class='flag-5'>函數</b>的詳細資料說明

    C語言編程文件操作函數庫匯總資源下載

    C語言編程文件操作函數庫匯總資源下載
    發表于 04-15 16:42 ?13次下載
    <b class='flag-5'>C</b><b class='flag-5'>語言</b>編程<b class='flag-5'>文件</b><b class='flag-5'>操作</b><b class='flag-5'>函數</b>庫匯總資源下載

    C語言編程常用的文件處理函數匯總下載

    C語言編程常用的文件處理函數匯總下載
    發表于 04-15 16:44 ?9次下載
    <b class='flag-5'>C</b><b class='flag-5'>語言</b>編程常用的<b class='flag-5'>文件</b>處理<b class='flag-5'>函數</b>匯總下載

    stm32中的io函數 STM32中的IO操作

    STM32系列單片機芯片的庫函數有很多種,而負責IO操作的庫函數是GPIO,GPIO函數在STM32單片機頭
    的頭像 發表于 07-22 15:29 ?1.4w次閱讀

    單片機IO操作總結

    單片機IO操作總結一、單片機IO口概述二、單片機IO操作1、輸入口使用2、輸出口使用三、關于
    發表于 11-05 13:06 ?31次下載
    單片機<b class='flag-5'>IO</b>口<b class='flag-5'>操作</b><b class='flag-5'>總結</b>

    c語言gets函數可以輸入數字嗎

    C語言中的gets函數是用來讀取字符串的,而不是用來讀取數字的。它會讀取輸入的字符直到遇到換行符或者文件結束符。因此,如果你嘗試使用gets函數
    的頭像 發表于 11-24 10:00 ?1839次閱讀
    主站蜘蛛池模板: 男人天堂资源网 | 中国美女乱淫免费看视频 | 亚洲成网站 | 免费看一级大片 | 美女扒开内裤让男人桶 | 年轻人影院www你懂的 | 色色色色色色色色色色色色色色 | 特级毛片a级毛免费播放 | 久久久久久久久国产 | 搜索黄色毛片 | 1024你懂的国产日韩欧美 | 欧美αv| 日本高清一本视频 | 久久久久久久网站 | 夜色福利久久久久久777777 | 亚洲一区免费 | 黄色永久免费 | 黄色18网站 | 色国产在线视频一区 | 丁香六月激情网 | 色琪琪一本到影院 | 黄色网址大全免费 | 老色批 | 亚洲小视频在线播放 | 亚洲精品视频网 | videossexotv极度另类高清 | 性色网站 | 亚洲欧洲一二三区 | 开心激情播播网 | 男人资源站 | 欧美午夜在线观看 | 一区二区三区高清在线 | 狠狠干网| 色偷偷伊人 | aaaaaaa欧美黄色大片 | 成人影院久久久久久影院 | 模特精品视频一区 | 欧美视频精品在线 | 国产香蕉在线精彩视频 | 色牛网 | 性free中国美女hd |