读书人

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

发布时间: 2012-03-17 19:06:28 作者: rapoo

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哎...

读书人网 >UNIXLINUX

热点推荐