首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

,用C语言写一个记事本,遇见两个有关问题

2012-05-27 
求助,用C语言写一个记事本,遇见两个问题。问题一:运行后读出的文字是乱码的,最先没有用malloc申请内存,而是

求助,用C语言写一个记事本,遇见两个问题。
问题一:运行后读出的文字是乱码的,最先没有用malloc申请内存,而是直接定义一个字符数组,则没有乱码。用malloc的话怎么解决?

问题二:怎么写多行记事本,现在只能读一行。
谢谢!
  
  switch(id)
  {
  case ID_MENUITEMOPEN:
{
if (GetOpenFileName(&ofn))
{
FILE *fp= fopen(szFile,"r");
char *str=(char*)malloc(sizeof(char)*80);
fgets(str,sizeof(str),fp);
SetDlgItemText(hwnd,IDC_EDIT1,str);
fclose(fp);
free(str);
}

}
  break;
  default:
break;
  }

[解决办法]
fgets(str,sizeof(str),fp);
这句话有问题
sizeof(str)的返回值是4。把它改成sizeof(char)*80
[解决办法]
sizeof(str),改为sizeof(char)*80

热点排行