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

求教,结构体中字符串的比较

    来源: 互联网  发布时间:2016-05-20

    本文导语:  有一个结构体 struct type {char disk[100]; int  percent; }type1; char disk[100]里面是:/dev/cciss/c0d0p1                       /dev/cciss/c0d0p2                       none                       /dev/cciss...

有一个结构体
struct type
{char disk[100];
int  percent;
}type1;

char disk[100]里面是:/dev/cciss/c0d0p1
                      /dev/cciss/c0d0p2
                      none
                      /dev/cciss/c0d0p3
                      /dev/cciss/c0d0p5
int percent里面是: 53
                    6
                    0
                    24
                    9
现在我想让用户手动输入磁盘的目录名,例如:/dev/cciss/c0d0p1。如果输入的目录名在char disk[100]里面存在和输入进去的东西相同的时候,则输入对应的percent。
例如,刚刚我键入/dev/cciss/c0d0p1的时候,则应该在屏幕上打印53.可是显示没有该目录。

以下是我写的代码,达人帮我看看;

#include 
#include 
#include 
#include 
#include 
struct type
{char disk[100];
int  percent;
}type1;
char destney[100];
int main(int argc, char* argv[])
{
  FILE *useshell;
  FILE *creatfile;
  FILE *read_in;
  char buf[1024];
  struct type *p;
  p=&type1;
    memset(buf,'', sizeof(buf));
    useshell=popen("df -k | awk 'NR>1{print $1,$5+0}'","r");
    creatfile=fopen("used_percent.txt","w+");
    fread(buf,sizeof(char),sizeof(buf),useshell);
    fwrite(buf,1,sizeof(buf),creatfile);
    pclose(useshell);
    fclose(creatfile);
    read_in=fopen("used_percent.txt","r" );
    while (!feof(read_in)){
                          fscanf(read_in,"%s %d",&(type1.disk),&(type1.percent));
                          printf("%s %dn",type1.disk,type1.percent);
                          }
  {printf("请输入要监控目录的目录名:");
    scanf("%s",destney);
    if(strcmp(destney,(*p).disk)==0)
  printf("%d",type1.percent);
  else
  printf("该目录不存在");
  }
    return 0;
   

|
代码有问题,标识了一下,你帮我解释下。

#include  
#include  
#include  
#include  
#include  
struct type 
{char disk[100]; 
int  percent; 
}type1; 
char destney[100]; 
int main(int argc, char* argv[]) 

  FILE *useshell; 
  FILE *creatfile; 
  FILE *read_in; 
  char buf[1024]; 
  struct type *p; 
  p=&type1; 
    memset(buf,'', sizeof(buf)); 
    useshell=popen("df -k | awk 'NR>1{print $1,$5+0}'","r"); 
    creatfile=fopen("used_percent.txt","w+"); 
    fread(buf,sizeof(char),sizeof(buf),useshell); 
    fwrite(buf,1,sizeof(buf),creatfile); 
    pclose(useshell); 
    fclose(creatfile); 
    read_in=fopen("used_percent.txt","r" ); 
    while (!feof(read_in))
    { 
                    fscanf(read_in,"%s %d",&(type1.disk),&(type1.percent)); 
                     printf("%s %dn",type1.disk,type1.percent); 
     } 
  {printf("请输入要监控目录的目录名:");               //这里有个'{'符号?没有循环体来重复strcmp?
    scanf("%s",destney); 
    if(strcmp(destney,(*p).disk)==0)                   //才比较一次?
  printf("%d",type1.percent); 
  else 
  printf("该目录不存在"); 
  } 
    return 0; 
  


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












  • 相关文章推荐
  • 求教求教,shell问题...各位大哥,帮忙下
  • 400分求教: 求教一简单问题,现场给分
  • 高分求教:如何将JAVA文件(.class)制作成可执行文件(.exe),求教方法或工具推荐
  • 急!!求教linux命令的使用:统计出/bin目录中文件的个数,追加到文件filea的结尾
  • 求教:在UNIX中查找包含指定文字的文件名
  • 小白菜求教linux大鸟
  • JDK1.3.1初级问题求教
  • 初学者有问题求教!
  • 各路高手请进!高分求教,非常着急!
  • 高分求教的问题(关于SendMail设置)
  • 简单问题:从sun网站上当了个jdk1.4b3,bin后缀,求教怎么安装
  • 求教:知道当前时间,如何得到N天前的时间 ?
  • 求教:switch(condition)中的condition 必须为整型吗?
  • Linux远程访问的问题,高分求教:)
  • 求教:在Linux下如何做代理服务器?
  • 紧急求教!究竟Java里面有没有相当于C++的CPOINT的类阿?
  • 求教JAVA中XML解析问题
  • 50分求教,在JSP里如何将String转换成Double
  • 我刚装好,是不是需要配制环境变量?求教。
  • 400分求教JAVA皮肤的问题


  • 站内导航:


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

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

    浙ICP备11055608号-3