当前位置:  技术问答>linux和unix

linux 下write()函数和大家探讨。。。

    来源: 互联网  发布时间:2015-10-13

    本文导语:  我写了一个小程序,将一个int x[2] = {1 ,2} 这样的数组用write()函数写到一个文件里, 但是写入之后察看文件是乱码,乱码是^A^类似样式出现,最后缀一个@结束,察看一些资料发现说如果没有文件结束符就会自动...

我写了一个小程序,将一个int x[2] = {1 ,2} 这样的数组用write()函数写到一个文件里, 但是写入之后察看文件是乱码,乱码是^A^类似样式出现,最后缀一个@结束,察看一些资料发现说如果没有文件结束符就会自动后缀一个@。如果把数组改成char 类型就不会出现这个问题,文件中会正常现实数组内容。
    但是write()的第二个参数是const void * (GNU/Linux 编程指南中说明)也就是说可以是任意类型都可以,难道使用write() 函数时,所有非char型数组都要转换成char 数组类型才可在write中使用么?小弟不明请大家指教。

|
可以用类型强制转换试试看

|
write(fd,x,sizeof(x));

|
如何才能把int 类型的数组转化成char类型的数组呢????

|
千万不能强制转换数组,否则就是乱码,用一个循环将每个元素转换成char型(切记,整形数值的范围是0-127之间,否则转换后将改变本身大小)
如果强制将整型数组转换成字符数组,相当于将指向整型数组的指针转换成了指向字符数组的提针,比如一个有十个数的整形数组转换成字符数组,那么那个字符数组必须要有四十个元素,不然就会产生内存溢出,其转换后的字符数组的值与原来整形数组的值有很大的改变,主要受到计算机存储字节的顺序有关,只要你想想计算机的大端字节序的原则,就明白你转换后的值了

    
 
 

您可能感兴趣的文章:

  • Linux c++虚函数(virtual function)简单用法示例代码
  • 在dos下访问内存的MK_FP函数在linux下对应什么函数?int86()函数呢?
  • linux c下利用srand和rand函数生成随机字符串
  • 哪位大侠有unix/linux的函数和函数所在的文件
  • Linux下c基于openssl生成MD5的函数
  • linux中,动态库中的函数如何调用静态库中的函数
  • Linux Kernel 'sctp_v6_xmit()'函数信息泄露漏洞
  • linux0.11内核有些函数是封装的吗?比如timer_interrupt()函数。
  • Linux下gettimeofday()函数和clock()函数:精确到毫秒级的时间
  • linux下自带了soup函数库和XML处理函数库了吗?
  • linux c 生成随机数srand函数和rand函数介绍及代码示例
  • linux下类的成员函数不可以作为自定义的信号处理函数么?
  • Linux下c函数dlopen实现加载动态库so文件代码举例
  • Linux有定时器函数吗?是不是要自己实现?如果有的话是什么函数呢?谢谢
  • linux c malloc函数定义及用法详解
  • linux c入门问题,大家指教。system函数和exec函数的区别。
  • Windows和Linux下C++类成员方法作为线程函数方法介绍
  • linux 2.6.35.4 内核中已没有netif_rx_schedule()函数,那替代函数是啥?
  • Linux下C语言strstr()查找子字符串位置函数详细介绍(strstr原型、实现及用法)
  • wcslen 等函数能用在linux下面吗?文件路径搜索有没有跨平台的函数库?
  • unix/Linux下c/c++ pthread库读写锁函数介绍
  • Linux 下析构函数为什么不是虚函数?
  • 厦门LINUX技术探讨群
  • 探讨下linux下pam验证中的crypt
  • 关于学习Linux的一个问题(非技术的探讨)
  • 探讨linux0.11内核
  • Linux Makefile探讨,产生的.d文件是.c文件的依赖?
  • 大家来探讨一下Linux的版权问题100分
  • 决定开始看LINUX代码~探讨有分~分不够再砸~
  • 探讨菜鸟问题~~在linux下安装jdk1.5、Tomcat5.5.8、Oracle8.17
  • Linux开发方式探讨 和现存条件的 选择.我是一个刚从win到linux的门外汉,希望可以找到最合适的方法.
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • linux和windows串口问题!?linux向windows端发送,第一次write正常,继续write,windows接收到的就变成乱码了,这是什么原因??????
  • 书写基于Linux内核的键盘记录器(Writing Linux Kernel Keylogger)中的源码如何编译通过???
  • linux下write调用问题
  • 初学linux,关于write命令的问题
  • 寻找linux_memory_management, Linux_TCPIP_programming.rar, Makefile_write.rar
  • Linux下怎么使用write read 操作外设
  • 求助:在Linux上,当退出vi,遇到“Can't write viminfo file /root/.viminfo!”
  • 请问:Linux 串口编程 非阻塞异步模式 write没有数据
  • linux pipe无法write!!!!!
  • 问:linux驱动中set_gpio_ctrl()和write_gpio_bit()的用法
  • linux下 read() write()的问题大家帮忙~~~~~~~!!!
  • how can i append a text into text file(i am in linux,can't write chinese,sorry)
  • Linux字符设备驱动疑难问题--printf打印信息发到字符设备write函数中
  • linux write 问题
  • linux c/c++ IP字符串转换成可比较大小的数字
  • 在win分区上安装linux和独立分区安装linux有什么区别?可以同时安装吗?(两个linux系统)
  • linux哪个版本好?linux操作系统版本详细介绍及选择方案推荐
  • 在虚拟机上安装的linux上,能像真的linux系统一样开发linux程序么?
  • secureCRT下Linux终端汉字乱码解决方法
  • 我重装window后,把linux的引导区覆盖了,进不了linux怎么办?急啊,望热心的人帮助 (现在有linux的盘)
  • Linux c字符串中不可打印字符转换成16进制
  • 安装vmware软件,不用再安装linux系统,就可以模拟linux系统了,然后可以在其上学习一下LINUX下的基本操作 了?
  • Linux常用命令介绍:更改所属用户群组或档案属性
  • 红旗Linux主机可以通过127.0.0.1访问,但如何是连网的Win2000机器通过Linux的IP去访问Linux
  • linux命令大全详细分类介绍及常用linux命令文档手册下载
  • 我重装window后,把linux的引导区覆盖了,进不了linux怎么办?急啊,望热心的人帮助 (现在没有linux的盘,只有DOS启动盘)
  • Docker官方镜像将会使用Alpine Linux替换Ubuntu
  • 如何让win2000和linux共存。我装好WIN2000,再装LINUX7.0,但LILO只能找到LINUX,不能引导WIN2000
  • Linux下chmod命令详细介绍及用法举例
  • 在windows中的VMware装了个linux,主板有两个串口,能做windows和linux的串口通信测试么,怎么测试这两个串口在linux是有效
  • linux僵尸(zombie)进程介绍及清除


  • 站内导航:


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

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

    浙ICP备11055608号-3