最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C語言中讀寫交替時(shí)出現(xiàn)的問題分析

 更新時(shí)間:2022年12月06日 11:11:45   作者:MAR-Sky  
讀寫命令交替,一定要使用fseek重新定位,否則出現(xiàn)輸入顯示混亂,這篇文章主要介紹了C語言中讀寫交替時(shí)出現(xiàn)的問題分析,需要的朋友可以參考下

總結(jié)

 1. 讀寫命令交替,一定要使用fseek重新定位,否則出現(xiàn)輸入顯示混亂
 2. a追加寫入,不能讀;a+:只能追加寫入,可讀取全部
 3. a相關(guān)模式不能修改原始數(shù)據(jù)文本,而r+可以修改原始文本
 4. 寫入的文本,不論是字符還是字符串,最后是有自動(dòng)添加的\0,個(gè)人根據(jù)現(xiàn)象理解的

“+”模式添加的不同

#include <stdio.h>
#include <stdlib.h>

int main(void){
	FILE *fp;
	char b;
	//每次測(cè)試保證txt文件中只"有123456"這6個(gè)字符;
	fp=fopen("file.txt","a+");   //只僅僅修改這里的模式為a+和a,和保證txt開始文本只有123456
	rewind(fp);  //指針在文件開始
	b = fgetc(fp);
	printf("第一次讀:%c\n",b);
	fseek(fp,2,0);
	printf("第二次讀:%c\n",fgetc(fp));
	fseek(fp,2,0);
	fputs("sag",fp);
	printf("第三次讀:%c\n",fgetc(fp));

	fclose(fp);
	system("type file.txt ");  //只是在cmd窗口顯示文本內(nèi)容,懶得每次打開txt查看
	printf("\n");
	system("pause");	
	return 0;
}

顯示結(jié)果a+和a對(duì)比分析:

a模式?jīng)]有讀取數(shù)據(jù)的功能,但能寫入,a+模式有讀寫的功能,但寫指針和讀指針不是同一位置,而且寫文本時(shí)會(huì)同時(shí)移動(dòng)兩個(gè)指針,但會(huì)一直在文檔結(jié)尾追加

在這里插入圖片描述

a+可讀寫的文件出現(xiàn)的問題

一次寫入命令后,若不定位指針,那么緊接著的讀取命令也會(huì)寫入;a+模式下,文檔最后寫入了6。因此,需要注意每次讀取和寫入文本命令轉(zhuǎn)換時(shí)重新使用feek(fp,n,0)定位

在這里插入圖片描述

每個(gè)+(r+為例)模式下,讀寫交替,不重新fseek出現(xiàn)的問題

讀和寫命令轉(zhuǎn)換時(shí)也會(huì)出現(xiàn)問題,

#include <stdio.h>
#include <stdlib.h>

int main(void){
	FILE *fp;
	char a[4],b;

	fp=fopen("file.txt","r+");
	rewind(fp);
	b = fgetc(fp);
	printf("第一次讀:%c\n",b);
	fseek(fp,2,0);
	printf("第二次讀:%c\n",fgetc(fp));
	fseek(fp,1,0);
	fputs("sa",fp);
	//fseek(fp,2,0);
	printf("第三次讀:%c\n",fgetc(fp));

	fclose(fp);
	system("type file.txt ");
	printf("\n");
	system("pause");	
	return 0;
}

在這里插入圖片描述

到此這篇關(guān)于C語言中讀寫交替時(shí)出現(xiàn)的問題問題的文章就介紹到這了,更多相關(guān)c語言讀寫交替內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

丹寨县| 特克斯县| 保靖县| 永康市| 克东县| 潼南县| 宣汉县| 陕西省| 英超| 苗栗市| 武定县| 秦皇岛市| 永康市| 西青区| 丽水市| 泰宁县| 内江市| 桐柏县| 余干县| 宕昌县| 天柱县| 镇雄县| 偏关县| 东至县| 尚志市| 临海市| 同仁县| 云安县| 灵宝市| 保亭| 扶风县| 确山县| 黄山市| 榆中县| 龙门县| 安福县| 白城市| 新昌县| 右玉县| 莲花县| 长治县|