while(!feof(fp))
{
fgets(buff,sizeof(buff),fp);
SetDlgItemText(hwnd,IDC_RICHEDIT,buff);
}
不是只读取了一行,是只在RICHEDIT这里面显示了一行,可能是数据放到RICHEDIT这里面被覆盖了,试试用EDIT_BOX控件吧,在style里面勾选want return选项
-物联网校企联盟技术部
#include
#include
#include
//函数返回fname指定文件的全部内容,如果打不开文件,则返回NULL,并显示打开文件错误
char *getfileall(char *fname){
FILE *fp;
char *str;
char txt[1000];
int filesize;
if ((fp=fopen(fname,"r"))==NULL){
printf("打开文件%s错误\n",fname);
return NULL;
}
fseek(fp,0,SEEK_END);
filesize = ftell(fp);
str=(char *)malloc(filesize);
str[0]=0;
rewind(fp);
while((fgets(txt,1000,fp))!=NULL){
strcat(str,txt);
}
fclose(fp);
return str;
}
int main(){
char *p;
char *fname="D:\\temp.txt";
p=getfileall(fname);
if (p!=NULL) puts(p);
}