当前位置:  技术问答>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 buffer[10];
memset(buffer,'a',10);
printf("memset :%s n", buffer);

字符串后面没清成0呢。
就是char的好像也不对。

|
qqqqq

|
1楼说的对 u32的buffer[10],长度不应该是40吗?

|
友情帮顶!!

|
不知道楼主文件内容是什么。

我跟字符打交道都是用char的,不用其它类型。
要正常打印出数组内容,可以在字符串最后添加一个'',比如你将n个字符放到数组a中,那么需要a[n]='',以确保它是一个正常的字符串。

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3