| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3570 人关注过本帖
标题:急,怎样用C读取文件内容
取消只看楼主 加入收藏
glhz610
Rank: 2
等 级:论坛游民
帖 子:33
专家分:44
注 册:2010-4-4
结帖率:75%
收藏
已结贴  问题点数:20 回复次数:1 
急,怎样用C读取文件内容
用C写了一个类似记事本的程序,即像记事本一样,在选择文件—打开后,能读取所选文件的类容,但是我写的每次只能读取文件内容的第一行,无法读完全部内容,虽然我知道用循环语句可以解决这个问题,但是,却不知道如何使用这个循环,主要在于如可控制这个循环,怎样判断什么时候读完文件内容,跳出循环....下面的是读取文件的代码:
case ID_MENUOPEN:
        {
            OPENFILENAME ofn;

            char szFile[MAX_PATH];

            ZeroMemory(&ofn,sizeof(ofn));

            ofn.lStructSize = sizeof(ofn);

            ofn.lpstrFile = szFile;

            ofn.lpstrFile[0] = TEXT('\0');

            ofn.nMaxFile = sizeof(szFile);

            ofn.lpstrFilter = TEXT("ALL\0*.*\0Text\0*.TXT\0CPP\0*.CPP\0");

            ofn.nFilterIndex = 1;

            ofn.lpstrFileTitle = NULL;

            ofn.nMaxFileTitle = 0;

            ofn.lpstrInitialDir = NULL;

            ofn.hwndOwner = hwnd;

            ofn.Flags = OFN_EXPLORER |OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST;

            if (GetOpenFileName(&ofn))  \\这里开始读取文件

            {  
              FILE    *fp=fopen(szFile,"r");//下面的循环语句不知道怎么写,望大虾指教!
              char ch[256];
              fgets(ch,sizeof(ch),fp);
              fclose(fp);
              SetDlgItemText(hwnd,IDC_EDIT1,ch);\\这里每次只能读取文件的第一行内容
        

            }

        }
搜索更多相关主题的帖子: 文件 
2010-05-12 21:51
glhz610
Rank: 2
等 级:论坛游民
帖 子:33
专家分:44
注 册:2010-4-4
收藏
得分:0 
回复 2楼 apull
用ch!=EOF可以判断,但是若用EOF判断,我比较笨...,我也只能想出逐一读取字符的方法来实现,及代码如下:
if (GetOpenFileName(&ofn))

            {
                        
              FILE    *fp=fopen(szFile,"r");              
                 char line[256];
                char ch;
                int i=0;
                ch=fgetc(fp);
                while(ch!=EOF)
                {
                 line[i++]=ch;
                 ch=fgetc(fp);
                 
                }
                line[i]='\0';
                SetDlgItemText(hwnd,IDC_EDIT1,TEXT(line));
                fclose(fp);


但是这个一运行起来,就会出现内存错误的现象.....
图片附件: 游客没有浏览图片的权限,请 登录注册
  请赐教怎样解决,或能否给我一个比较完整点的代码..
2010-05-13 09:22
快速回复:急,怎样用C读取文件内容
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.049789 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved