资料終端显示问 题

文件終端显示问 题
程序如 下 :
#include<stdio.h>
#include<fcntl.h>
#include<stdlib.h>
int main()
{
  int p;
  char buf[2048];
  int flag;
  if((p=open("text",O_RDWR))==-1)
  {
  printf("file open error\n!");
  exit(-1);
  }else
  {
  if((flag=read(p,buf,2048))==-1){
  printf("read fail,try again\n");
  exit(-1);
  }
  else
  write(STDOUT_FILENO,buf,2048);
  }
  return 0;
}
cc rw.c
./a.out
显示:� ELF0m4|g4 linux-c$ a.out
(ED444@@�������(�(�1�1�1�'�W|M|M|M��tttDD�1�1�1@P�td������,3,3Q�tdR�td�1�1�1,���)���'���ޖ4��(��6�)��� i|����%�w �w �i-laptop:~/linux-c$ ./a.out
|���|���(����0&�B$�+��|����)�������P(����� ��r8$��Չ��|�P$��Չ|��$|�|��E� 4C���)��� |����|$ �
@)��R0)��4C$)��T
|�$�D���(��Չ�)��$)��0)��p$�)���E$�� ��o����)��?�
�)��&�w ���Ha�<�$�D�)��F�)���B4C� ii
|�|� ��|�|�|����%����P%��A,�
�(*��@)������4*���� �E�����l*������*�,}0�,<*����� |�
GEdP.�)WO_� |�.N=�H
  P1m5LJ |�|���� ,���P+���
$+��R+��,+��T
H
  |��������B��*��չ ������*����� ���*��9�$����� ��*���D�� +�
请问何解?

------解决方案--------------------
C/C++ code

else
  write(STDOUT_FILENO,buf,2048);

------解决方案--------------------
write(STDOUT_FILENO,buf,2048);

文件里的内容不一定全是可显示的字符,可以用记事本打开看一下
------解决方案--------------------
可能是编码的问题。把ssh客户端的编码改成UTF-8试试。
------解决方案--------------------
貌似是编码问题