免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1495 | 回复: 2
打印 上一主题 下一主题

[Linux] 关于对每个命令行参数打印文件类型的程序的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-05-26 10:49 |只看该作者 |倒序浏览
这个程序使用来 打印每个命令行参数的文件类型 但是当打印/dev/log文件出现乱码
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <sys/stat.h>
  4. #define _GNU_SOURCE
  5. int main(int argc,char *argv[])
  6. {
  7.         int i;
  8.         struct stat buf;
  9.         char *ptr;
  10.         for(i=1;i<argc;i++){
  11.                 printf("%s: ",argv[i]);
  12.                 if(lstat(argv[i],&buf)<0) {
  13.                         printf("lstat error");
  14.                         continue;
  15.                 }
  16.                 if(S_ISREG(buf.st_mode))
  17.                         ptr="regular";
  18.                 else if(S_ISDIR(buf.st_mode))
  19.                         ptr="directory";
  20.                 else if(S_ISCHR(buf.st_mode))
  21.                         ptr="char special";
  22.                 else if(S_ISBLK(buf.st_mode))
  23.                         ptr="blick special";
  24.                 else if(S_ISFIFO(buf.st_mode))
  25.                         ptr="fifo file";
  26.                 else if(S_ISLNK(buf.st_mode))
  27.                         ptr="link file";
  28.                 else if(S_ISSOCK(buf.st_mode))
  29.                         ptr-"socket file";
  30.                 else
  31.                         ptr="unknow file";
  32.                 printf("%s\n",ptr);
  33.         }
  34.         exit(0);
  35. }
复制代码


论坛徽章:
4
水瓶座
日期:2013-09-06 12:27:30摩羯座
日期:2013-09-28 14:07:46处女座
日期:2013-10-24 14:25:01酉鸡
日期:2014-04-07 11:54:15
2 [报告]
发表于 2013-05-26 11:54 |只看该作者
  else if(S_ISSOCK(buf.st_mode))
                        ptr-"socket file";

论坛徽章:
0
3 [报告]
发表于 2013-05-26 12:03 |只看该作者
回复 2# linux_c_py_php


    额。。呢编译器居然没有报错!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP