Advertisement
Guest User

Untitled

a guest
Mar 23rd, 2018
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.68 KB | None | 0 0
  1. if(argc < 3) { perror("argc < 2"); return -1; }
  2.  
  3.    int fdin1 = open(argv[1],O_RDONLY,S_IREAD);
  4.    if(fdin1 == -1) { perror("fdin1 == -1"); return -1; }
  5.  
  6.    int fdin2 = open(argv[2],O_RDONLY,S_IREAD);
  7.    if(fdin1 == -1) { perror("fdin2 == -1"); return -1; }
  8.  
  9.    char buf1[1024],buf2[1024];
  10.    int r,s,flag=0,nLine=1;
  11.  
  12.    r = readln1(fdin1,buf1,1024);
  13.    s = readln1(fdin2,buf2,1024);
  14.  
  15.    if(r==0 || s==0)
  16.    {
  17.       char sChar[10];
  18.       int sizeChar = intToString(sChar,1);
  19.  
  20.       char sLine[10];
  21.       int sizeLine = intToString(sLine,1);
  22.  
  23.       write(1,argv[1],strlen(argv[1]));
  24.       write(1," ",1);
  25.       write(1,argv[2],strlen(argv[2]));
  26.       write(1,": char ",7);
  27.       write(1,sChar,sizeChar);
  28.       write(1,", line ",7);
  29.       write(1,sLine,sizeLine);
  30.       write(1,"\n",1);
  31.       return EXIT_SUCCESS;
  32.    }
  33.  
  34.    while(r>0 && s>0 && flag == 0)
  35.    {
  36.       int i,n;
  37.      
  38.       if(r<s) n=r;
  39.       else n=s;
  40.      
  41.       for(i=0; i<n; i++)
  42.       {
  43.          if(buf1[i] != buf2[i])
  44.          {
  45.             char sChar[10];
  46.             int sizeChar = intToString(sChar,i+1);
  47.  
  48.             char sLine[10];
  49.             int sizeLine = intToString(sLine,nLine);
  50.  
  51.             write(1,argv[1],strlen(argv[1]));
  52.             write(1," ",1);
  53.             write(1,argv[2],strlen(argv[2]));
  54.             write(1,": char ",7);
  55.             write(1,sChar,sizeChar);
  56.             write(1,", line ",7);
  57.             write(1,sLine,sizeLine);
  58.             write(1,"\n",1);
  59.             flag = 1;
  60.             break;
  61.          }
  62.          else
  63.          {
  64.             r = readln1(fdin1,buf1,1024);
  65.             s = readln1(fdin2,buf2,1024);
  66.          }
  67.       }
  68.  
  69.       nLine++;
  70.    }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement