VC++读取txt文件问题

2025年02月23日 13:26
有2个网友回答
网友(1):

利用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

    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编译系统调试通过。

网友(2):

#include
#include

int main()
{
int result[2][2];
int i,j;
FILE *fp;

fp = fopen("C:\\Program Files\\Microsoft Visual Studio\\MyProjects\\DATAIN\\Data1.txt","r");
for(i=0;i<2;i++)
{
for(j=0;j<2;j++)
{
fscanf(fp,"%d",&result[i][j]);
printf("%d",result[i][j]);
}
printf("\n");
}
fclose(fp);
getchar();
return 0;
}