首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

Linux文件写操作,出现乱码,该怎么解决

2012-03-17 
Linux文件写操作,出现乱码我现在向一个txt文件写入一些数据,出现乱码。求指导~~代码:C/C++ code#include u

Linux文件写操作,出现乱码
我现在向一个txt文件写入一些数据,出现乱码。求指导~~

代码:

C/C++ code
#include <unistd.h>#include <stdio.h>#include <sys/mman.h>#include <fcntl.h>#include <stdlib.h>typedef struct{    int integer;    char string[24];}RECORD;#define NRECORDS (100)int main(){    RECORD record,*mapped;    int i,f;    FILE *fp;        fp = fopen("records.txt","w+");    for(i = 0;i < NRECORDS;++i)    {        record.integer = i;        sprintf(record.string,"RECORD-%d",i);        fwrite(&record,sizeof(record),1,fp);                }    fclose(fp);}


运行后打开records.tx出现乱码:


新手上路,求指教~~

[解决办法]
很正常, 计算机也不知道哪些字节是字符, 哪些字节不是字符, 你一个Int,后边接一个字符串, 显示成啥样都是可能的。
[解决办法]
用fprintf之类的函数试试
[解决办法]
sprintf(record.string,"RECORD-%d",i);
往string里写了多少字符?string长度是24哎...

热点排行