烫现象!

shuirh 2009-02-25 03:56:22
#include <stdio.h>

main()
{
FILE *fp = NULL;
char surname[10] = "Green";
//char surname[10];
char buffer[100];

//printf( "please input the surname:" );
//scanf( "%s", surname );

fp = fopen( "bak.txt ", "w");
fwrite( buffer, sizeof ( surname ), 1, fp);
printf( "%s\n", buffer);
close( fp );

fp = fopen( "bak.txt", "r");
fread( buffer, sizeof ( surname ), 1, fp);
printf("%s\n", buffer);
close( fp );
}

输出的时候有乱码,要去掉乱码,怎么办????
...全文
99 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
yangch_nhcmo 2009-02-25
  • 打赏
  • 举报
回复

#include <stdio.h>
#include <string.h>

main()
{
FILE *fp = NULL;
char surname[10] = "Green";
//char surname[10];
char buffer[100];
memset(buffer,0,100);

//printf( "please input the surname:" );
//scanf( "%s", surname );

fp = fopen( "bak.txt ", "w");
fwrite( buffer, sizeof ( surname ), 1, fp);
printf( "%s\n", buffer);
//close( fp ); //===>fclose(fp);
fclose(fp);

fp = fopen( "bak.txt", "r");
fread( buffer, sizeof ( surname ), 1, fp);
printf("%s\n", buffer);
//close( fp ); //===>fclose(fp);
fclose(fp);
}
夹心饼干 2009-02-25
  • 打赏
  • 举报
回复
还有如果是VS2008的话,最好工程不要用Unicode,换多字节
夹心饼干 2009-02-25
  • 打赏
  • 举报
回复
在使用前buffer初始化用 memset(buffer,0x00,sizeof(buffer));
dongpy 2009-02-25
  • 打赏
  • 举报
回复
char buffer[100];
//.......................
printf( "%s\n", buffer);
=========================================
字符数组buffer没有初始化,里面的内容是随机的,所以显示乱码。
waizqfor 2009-02-25
  • 打赏
  • 举报
回复

#include <stdio.h>
int main()
{
FILE *fp = NULL;
char surname[10] = "Green\0";
//char surname[10];
char buffer[100];

//printf( "please input the surname:" );
//scanf( "%s", surname );

fp = fopen( "bak.txt ", "w");
fwrite( buffer, sizeof ( surname ), 1, fp);
printf( "%s\n", buffer);
fclose( fp );

fp = fopen( "bak.txt", "r");
fread( buffer, sizeof ( surname ), 1, fp);
printf("%s\n", buffer);
fclose( fp );
return 0;
}
feng4206yu 2009-02-25
  • 打赏
  • 举报
回复

#include <stdio.h>

int main()
{
FILE *fp = NULL;
char surname[10] = "Green\0";
fp = fopen( "bak.txt ", "w");
fwrite( surname, sizeof(surname), 1, fp);
printf( "%s\n", surname);
fclose( fp );

fp = fopen( "bak.txt", "r");
fread( surname, sizeof(char), 6, fp);
printf("%s\n", surname);
fclose( fp );

return 0;
}
wuyu637 2009-02-25
  • 打赏
  • 举报
回复
void
main()
{
FILE *fp = NULL;
char surname[10] = "Green";
//char surname[10];
char buffer[100] = "green";

//printf( "please input the surname:" );
//scanf( "%s", surname );

fp = fopen( "bak.txt", "wb");
fwrite( buffer, strlen(buffer), 1, fp);
printf( "%s\n", buffer);
fclose( fp );

fp = fopen( "bak.txt", "rb");
fread( buffer, strlen(buffer), 1, fp);
printf("%s\n", buffer);
fclose( fp );
}

64,637

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧