当前位置: 技术问答>linux和unix
u32型与char型数组内容的读写与printf显示有问题
来源: 互联网 发布时间:2016-12-18
本文导语: 如果用char形的数组,可以正常显示,1.txt也能打开, 但是我得用u32型的数组,改成u32的类型就显示出错,而且1.txt也打不打。那怎么办啊? 下面是2种方式对比, #include #include #include #include #include #include #include #include...
如果用char形的数组,可以正常显示,1.txt也能打开,
但是我得用u32型的数组,改成u32的类型就显示出错,而且1.txt也打不打。那怎么办啊?
下面是2种方式对比,
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define u32 unsigned int
/*u32型的数组*/
int main(void)
{
u32 buffer[10];
memset(buffer,'a',10);
printf("memset :%s n", buffer);
FILE *pFile;
pFile=fopen("1.txt","wr+");
fwrite(buffer, sizeof(buffer)+1,1, pFile);
fseek(pFile,0,SEEK_SET);
fread(buffer, sizeof(buffer)+1,1, pFile);
printf("read from '1.txt:' %s n'", buffer);
fclose(pFile);
return 0;
}
/*char型的数组*/
我只把main里面的内容贴出来
char buffer[10];
memset(buffer,'a',10);
printf("memset :%s n", buffer);
FILE *pFile;
pFile=fopen("1.txt","w");
fwrite(buffer, 1, sizeof(buffer), pFile);
fseek(pFile,0,SEEK_SET);
fread(buffer, 1,sizeof(buffer), pFile);
printf("read from '1.txt:' %s n'", buffer);
fclose(pFile);
return 0;
但是我得用u32型的数组,改成u32的类型就显示出错,而且1.txt也打不打。那怎么办啊?
下面是2种方式对比,
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define u32 unsigned int
/*u32型的数组*/
int main(void)
{
u32 buffer[10];
memset(buffer,'a',10);
printf("memset :%s n", buffer);
FILE *pFile;
pFile=fopen("1.txt","wr+");
fwrite(buffer, sizeof(buffer)+1,1, pFile);
fseek(pFile,0,SEEK_SET);
fread(buffer, sizeof(buffer)+1,1, pFile);
printf("read from '1.txt:' %s n'", buffer);
fclose(pFile);
return 0;
}
/*char型的数组*/
我只把main里面的内容贴出来
char buffer[10];
memset(buffer,'a',10);
printf("memset :%s n", buffer);
FILE *pFile;
pFile=fopen("1.txt","w");
fwrite(buffer, 1, sizeof(buffer), pFile);
fseek(pFile,0,SEEK_SET);
fread(buffer, 1,sizeof(buffer), pFile);
printf("read from '1.txt:' %s n'", buffer);
fclose(pFile);
return 0;
|
u32 buffer[10];
memset(buffer,'a',10);
printf("memset :%s n", buffer);
字符串后面没清成0呢。
就是char的好像也不对。
memset(buffer,'a',10);
printf("memset :%s n", buffer);
字符串后面没清成0呢。
就是char的好像也不对。
|
qqqqq
|
1楼说的对 u32的buffer[10],长度不应该是40吗?
|
友情帮顶!!
|
不知道楼主文件内容是什么。
我跟字符打交道都是用char的,不用其它类型。
要正常打印出数组内容,可以在字符串最后添加一个'',比如你将n个字符放到数组a中,那么需要a[n]='',以确保它是一个正常的字符串。
我跟字符打交道都是用char的,不用其它类型。
要正常打印出数组内容,可以在字符串最后添加一个'',比如你将n个字符放到数组a中,那么需要a[n]='',以确保它是一个正常的字符串。
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。