VC 如何读写TXT文件

VC 如何读写TXT文件,第1张

1.文件的打开fopen()

fopen(char *filename,char *type)

其中*filename是要打开文件的文件名指针,一般用双引号括起来的文件名表示,也可使用双反斜杠隔开的路径名。而*type参数表示了对打开文件的 *** 作方式。其可采用的 *** 作方式如下:

方式 含义

r 打开,只读

w 打开,文件指针指到头,只写

a 打开,指向文件尾,在已存在文件中追加

rb 打开一个二进制文件,只读

wb 打开一个二进制文件,只写

ab 打开一个二进制文件,进行追加

r+ 以读/写方式打开一个已存在的文件

w+ 以读/写方式建立一个新的文本文件

a+ 以读/写方式打开一个文件文件进行追加

rb+ 以读/写方式打开一个二进制文件

wb+ 以读/写方式建立一个新的二进制文件

ab+ 以读/写方式打开一个二进制文件进行追加

当用fopen(0成功的打开一个文件时,该函数将返回一个FILE指针,如果文件打开失败,将返回一个NULL指针。

2.关闭文件函数fclose()

int fclose(FILE *stream)

3.文件的读写

(1).读写文件中字符的函数(一次只读写文件中的一个字符):

int fgetc(FILE *stream)

int fgetchar(void)

int fputc(int ch,FILE *stream)

int fputchar(int ch)

int getc(FILE *stream)

int putc(int ch,FILE *stream)

(2).读写文件中字符串的函数

char *fgets(char *string,int n,FILE *stream)

char *gets(char *s)

int fprintf(FILE *stream,char *format,variable-list)

int fputs(char *string,FILE *stream)

int fscanf(FILE *stream,char *format,variable-list)

利用CStdioFile类的直接读取字符串的特点,大大简化程序的开发。要调用CStdioFile类需要在程序中加载afx.h库文件。

一、用VC6.0生成基于对话框的程序ReadTxT工程。

二、添加两个按钮“Open File”和“Save File”。一个CLisiBox列表框。

三、为两个按钮添加消息相应函数,程序如下:

void CReadTXTTestDlg::OnOpenFile()

{

CFileDialog FileDlg(true, _T("txt"),

NULL,

OFN_FILEMUSTEXIST|OFN_HIDEREADONLY,

                                    "文本文件

(*.TXT)|*.TXT|All Files(*.*)|*.*||")

if( FileDlg.DoModal() == IDOK ) {  

CString fileName

fileName = FileDlg.GetFileName()

CStdioFile file 

file.Open(fileName,CFile::modeRead,0) 

CListBox *pList = (CListBox *)GetDlgItem(IDC_EDIT) 

pList->ResetContent()  

CString str 

while(file.ReadString(str))    

{ pList->AddString(str)}

file.Close()

void CReadTXTTestDlg::OnSaveFile()

{ CFileDialog FileDlg(false,

_T("txt"),

NULL,

OFN_FILEMUSTEXIST|OFN_HIDEREADONLY, "

文本

文件

(*.TXT)|*.TXT|All Files(*.*)|*.*||")

if( FileDlg.DoModal() == IDOK ) {

CString fileName

fileName = FileDlg.GetFileName()

CStdioFile file 

file.Open(fileName,CFile::modeCreate | CFile::modeWrite) 

CListBox *pList = (CListBox *)GetDlgItem(IDC_EDIT)            

CString str

nt size = pList->GetCount()

for(int i=0 i<sizei++) 

  int n = pList->GetTextLen(i)

pList->GetText(i, str.GetBuffer(n)) 

file.WriteString(str)                   

file.WriteString("\n")

   file.Close()

四。编译执行,程序的运行结果如下:

点击“OpenFile”按钮可实现TXT文件的加载。

点击“SaveFile”按钮可实现TXT文件的存储加载。

此程序在WINXP平台,VC6.0编译系统调试通过。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11682250.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存