linux programming lab record

Upload: dvadone

Post on 12-Oct-2015

44 views

Category:

Documents


0 download

DESCRIPTION

FOR IV SEM CSE

TRANSCRIPT

  • 5/21/2018 Linux Programming Lab Record

    1/29

    L P L R JNTU WORLD [..]

    1 B A [JNTU WORLD]

    T . O :

    1:

    P .S 1 : ,

    F ,

    H

    S 2 : T , ( )

    $

    H

    S 03 13:40:15 PST 2006

    2:

    M .

    W ,

    . A .

    S 1 : ,

    F ,

    H

    S 2 : M

    $ + _

    $ +

    S 3 : T ,

    $

    H

    S 03 13:40:15 PST 2006

    S 1 : U , , , . T

    ..

    F , . :

    ()

    ( );

    S 2 : S CC ( C C )

    www.jntuworld.com

    www.jntuworld.com

    www.jwjobs.net

  • 5/21/2018 Linux Programming Lab Record

    2/29

    j

    L P L R JNTU WORLD [..]

    2 B A [JNTU WORLD]

    $ .

    I , .

    S 3 : T , .

    $ .

    W

    1. ,

    .

    #!//

    E

    F L : 1 $

    L :

    1 $

    D :

    $

    2. .

    #!//

    $[1] $[2]

    '//' 1 2 3 > .

    A

    www.jntuworld.com

    www.jntuworld.com

    www.jwjobs.net

  • 5/21/2018 Linux Programming Lab Record

    3/29

    j

    L P L R JNTU WORLD [..]

    3 B A [JNTU WORLD]

    /^.//

    .

    /\(.\)\(.\)$/\2/

    . /^\([AZ09]*\) *\([AZ09]*\)/\2\1/

    3. ,

    .

    "L F R, W E P C D"

    *

    [ $ $ $ ]

    $

    www.jntuworld.com

    www.jntuworld.com

    www.jwjobs.net

  • 5/21/2018 Linux Programming Lab Record

    4/29

    j

    L P L R JNTU WORLD [..]

    4 B A [JNTU WORLD]

    4.

    ,

    .

    $

    $

    $

    5. ,

    .

    E

    [ $ ]

    [ $ ]

    : $

    N : $

    www.jntuworld.com

    www.jntuworld.com

    www.jwjobs.net

  • 5/21/2018 Linux Programming Lab Record

    5/29

    j

    L P L R JNTU WORLD [..]

    5 B A [JNTU WORLD]

    6. .

    E

    [ $ ]

    F $

    $

    D

    :

    7. .

    F

    "E : "

    =1

    =1

    [ $ $ ]

    =` $ \* $`

    =` $ + 1`

    "F $ = $"

    www.jntuworld.com

    www.jntuworld.com

    www.jwjobs.net

  • 5/21/2018 Linux Programming Lab Record

    6/29

    j

    L P L R JNTU WORLD [..]

    6 B A [JNTU WORLD]

    8. .

    . . . .

    )

    #

    ## BUFSIZE 1

    ( , **)

    1;

    ;

    ;

    1=([1],O_RDONLY);

    ("SS P F\");

    ((=(1,&,1))>0)

    ("%",);

    /*

    (1,&,1); */

    (0);

    www.jntuworld.com

    www.jntuworld.com

    www.jwjobs.net

  • 5/21/2018 Linux Programming Lab Record

    7/29

    j

    L P L R JNTU WORLD [..]

    7 B A [JNTU WORLD]

    )

    #

    #

    # #

    # FALSE 0

    # TRUE 1

    ();

    [MAXPATHLEN];

    ()

    ,;

    **;

    _();

    (() == NULL )

    ("E ");

    (0);

    ("C W D = %",);

    = (, &, _, );

    ( _, ".") == 0) ((>_, "..") == 0))

    (FALSE);

    (TRUE);

    www.jntuworld.com

    www.jntuworld.com

    www.jwjobs.net

  • 5/21/2018 Linux Programming Lab Record

    8/29

    j

    L P L R JNTU WORLD [..]

    8 B A [JNTU WORLD]

    www.jntuworld.com

    www.jntuworld.com

    www.jwjobs.net

  • 5/21/2018 Linux Programming Lab Record

    9/29

    j

    L P L R JNTU WORLD [..]

    9 B A [JNTU WORLD]

    )

    #

    #

    ##

    ( , **)

    1,2;

    ,=0;

    1=([1],O_RDONLY);

    2=([2],S_IWUSR);

    (1,2);

    ([1]); (0);

    9.

    .

    1.

    2.

    3. ,

    4. (N: / )

    PROGRAM

    #

    ()

    FILE *;

    _;

    =(,);

    (==(FILE*)0)

    www.jntuworld.com

    www.jntuworld.com

    www.jwjobs.net

  • 5/21/2018 Linux Programming Lab Record

    10/29

    j

    L P L R JNTU WORLD [..]

    10 B A [JNTU WORLD]

    (,E ( )\);

    ();

    (1);

    (())==EOF)

    (,E .( )\);

    (1);

    ();

    10. .

    #

    #

    #

    #

    ()

    DIR *; *;

    = (".");

    ( != NULL)

    ( = ())

    ("%\", >_);

    ();

    ("C' ");

    0;

    www.jntuworld.com

    www.jntuworld.com

    www.jwjobs.net

  • 5/21/2018 Linux Programming Lab Record

    11/29

    j

    L P L R JNTU WORLD [..]

    11 B A [JNTU WORLD]

    11. . : 1.

    ()

    (".","",);

    ("T .");

    ();

    0;

    www.jntuworld.com

    www.jntuworld.com

    www.jwjobs.net

  • 5/21/2018 Linux Programming Lab Record

    12/29

    j

    L P L R JNTU WORLD [..]

    12 B A [JNTU WORLD]

    12.

    .

    #

    #

    #

    #

    # BUFSIZE 4096

    HANDLE _CS_IN_R = NULL;

    HANDLE _CS_IN_W = NULL;

    HANDLE _CS_OUT_R = NULL;

    HANDLE _CS_OUT_W = NULL;

    HANDLE _IF = NULL;

    CCP();

    WTP();

    RFP();

    EE(PTSTR);

    _( , TCHAR *[])

    SECURITY_ATTRIBUTES A;

    ("\>S .\");

    // S IH .

    A.L = (SECURITY_ATTRIBUTES);

    A.IH = TRUE;

    A.SD = NULL;

    www.jntuworld.com

    www.jntuworld.com

    www.jwjobs.net

  • 5/21/2018 Linux Programming Lab Record

    13/29

    j

    L P L R JNTU WORLD [..]

    13 B A [JNTU WORLD]

    // C ' STDOUT.

    ( ! CP(&_CS_OUT_R, &_CS_OUT_W, &A, 0) )

    EE(TEXT("SR CP"));

    // E STDOUT .

    ( ! SHI(_CS_OUT_R, HANDLE_FLAG_INHERIT, 0) )

    EE(TEXT("S SHI"));

    // C ' STDIN.

    (! CP(&_CS_IN_R, &_CS_IN_W, &A, 0))EE(TEXT("S CP"));

    // E STDIN .

    ( ! SHI(_CS_IN_W, HANDLE_FLAG_INHERIT, 0) )

    EE(TEXT("S SHI"));

    // C .

    CCP();

    // G .

    // T .

    ( == 1)

    EE(TEXT("P .\"));

    _IF = CF(

    [1],

    GENERIC_READ,

    0,

    NULL,

    OPEN_EXISTING,

    FILE_ATTRIBUTE_READONLY,

    NULL);

    ( _IF == INVALID_HANDLE_VALUE )

    www.jntuworld.com

    www.jntuworld.com

    www.jwjobs.net

  • 5/21/2018 Linux Programming Lab Record

    14/29

    j

    L P L R JNTU WORLD [..]

    14 B A [JNTU WORLD]

    EE(TEXT("CF"));

    // W .

    // D ' ,

    // .

    WTP();

    ( "\>C % STDIN .\", [1]);

    // R .

    ( "\>C STDOUT:\\", [1]);

    RFP();

    ("\>E .\");

    // T .

    // T , .

    0;

    CCP()// C STDIN STDOUT.

    TCHAR C[]=TEXT("");

    PROCESS_INFORMATION PI;

    STARTUPINFO SI;

    BOOL S = FALSE;

    // S PROCESS_INFORMATION .

    ZM( &PI, (PROCESS_INFORMATION) );

    // S STARTUPINFO .

    // T STDIN STDOUT .

    ZM( &SI, (STARTUPINFO) );

    SI. = (STARTUPINFO);

    SI.SE = _CS_OUT_W;

    SI.SO = _CS_OUT_W;

    www.jntuworld.com

    www.jntuworld.com

    www.jwjobs.net

  • 5/21/2018 Linux Programming Lab Record

    15/29

    j

    L P L R JNTU WORLD [..]

    15 B A [JNTU WORLD]

    SI.SI = _CS_IN_R;

    SI.F = STARTF_USESTDHANDLES;

    // C .

    S = CP(NULL,

    C, //

    NULL, //

    NULL, //

    TRUE, //

    0, //

    NULL, // '

    NULL, // '

    &SI, // STARTUPINFO &PI); // PROCESS_INFORMATION

    // I , .

    ( ! S )

    EE(TEXT("CP"));

    // C .

    // S // , .

    CH(PI.P);

    CH(PI.T);

    WTP()

    // R ' STDIN.

    // S .

    DWORD R, W;

    CHAR B[BUFSIZE];

    BOOL S = FALSE;

    (;;)

    www.jntuworld.com

    www.jntuworld.com

    www.jwjobs.net

  • 5/21/2018 Linux Programming Lab Record

    16/29

    j

    L P L R JNTU WORLD [..]

    16 B A [JNTU WORLD]

    S = RF(_IF, B, BUFSIZE, &R, NULL);

    ( ! S R == 0 ) ;

    S = WF(_CS_IN_W, B, R, &W, NULL);

    ( ! S ) ;

    // C .

    ( ! CH(_CS_IN_W) )

    EE(TEXT("SIW CH"));

    RFP()

    // R ' STDOUT

    // ' STDOUT.

    // S .

    DWORD R, W;

    CHAR B[BUFSIZE];

    BOOL S = FALSE;

    HANDLE PSO = GSH(STD_OUTPUT_HANDLE);

    // C

    // , .

    // T

    // .

    (!CH(_CS_OUT_W))

    EE(TEXT("SOW CH"));

    (;;)

    S = RF( _CS_OUT_R, B, BUFSIZE, &R, NULL);

    ( ! S R == 0 ) ;

    S = WF(PSO, B,

    R, &W, NULL);

    (! S ) ;

    www.jntuworld.com

    www.jntuworld.com

    www.jwjobs.net

  • 5/21/2018 Linux Programming Lab Record

    17/29

    j

    L P L R JNTU WORLD [..]

    17 B A [JNTU WORLD]

    EE(PTSTR F)

    // F , ,// .

    LPVOID MB;

    LPVOID DB;

    DWORD = GLE();

    FM(

    FORMAT_MESSAGE_ALLOCATE_BUFFER

    FORMAT_MESSAGE_FROM_SYSTEM FORMAT_MESSAGE_IGNORE_INSERTS,

    NULL,

    ,

    MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),

    (LPTSTR) &MB,

    0, NULL );

    DB = (LPVOID)LA(LMEM_ZEROINIT,

    (((LPCTSTR)MB)+((LPCTSTR)F)+40)*(TCHAR));SCP((LPTSTR)DB,

    LS(DB) / (TCHAR),

    TEXT("% %: %"),

    F, , MB);

    MB(NULL, (LPCTSTR)DB, TEXT("E"), MB_OK);

    LF(MB);

    LF(DB);

    EP(1);

    .

    .

    . .

    .

    #

    #

    www.jntuworld.com

    www.jntuworld.com

    www.jwjobs.net

  • 5/21/2018 Linux Programming Lab Record

    18/29

    j

    L P L R JNTU WORLD [..]

    18 B A [JNTU WORLD]

    # BUFSIZE 4096

    ()

    CHAR B[BUFSIZE];

    DWORD R, W;

    HANDLE S, S;

    BOOL S;

    S = GSH(STD_OUTPUT_HANDLE);

    S = GSH(STD_INPUT_HANDLE);

    (

    (S == INVALID_HANDLE_VALUE) (S == INVALID_HANDLE_VALUE)

    )

    EP(1);

    // S ' .

    ("\ ** T . ** \");

    // T .

    // I .// L .

    (;;)

    // R .

    S = RF(S, B, BUFSIZE, &R, NULL);

    (! S R == 0)

    ;

    // W .

    S = WF(S, B, R, &W, NULL);

    (! S)

    ;

    0;

    www.jntuworld.com

    www.jntuworld.com

    www.jwjobs.net

  • 5/21/2018 Linux Programming Lab Record

    19/29

    j

    L P L R JNTU WORLD [..]

    19 B A [JNTU WORLD]

    13. .

    #

    #

    #

    #

    ( , *[])

    /*

    * F

    */

    ;

    // 1

    (()) 0;

    //

    ("/");

    ();

    (0);

    // 2

    = ();

    ()

    ("D: %\", );

    0;

    /****** C ********/

    FILE *;

    =("//.", "");

    (1)

    (, "\");

    www.jntuworld.com

    www.jntuworld.com

    www.jwjobs.net

  • 5/21/2018 Linux Programming Lab Record

    20/29

    j

    L P L R JNTU WORLD [..]

    20 B A [JNTU WORLD]

    ();

    (2);

    /**********************************/

    14. .

    #

    #

    #

    #

    #

    ()

    _ ;

    =();

    (==0)

    (1)

    (" = %, =%\",()(), ()());

    (3);

    (" ");

    0;

    www.jntuworld.com

    www.jntuworld.com

    www.jwjobs.net

  • 5/21/2018 Linux Programming Lab Record

    21/29

    j

    L P L R JNTU WORLD [..]

    21 B A [JNTU WORLD]

    15. .

    ) .) .

    ) .

    #

    #

    #

    # MAX 255

    ;

    [MAX];

    *;

    [MAX];

    ()

    ,,,=0;;

    ((=(1006,IPC_CREAT 0666))=6;

    =(,O_RDONLY);

    ((,,25)>0)

    www.jntuworld.com

    www.jntuworld.com

    www.jwjobs.net

  • 5/21/2018 Linux Programming Lab Record

    22/29

    j

    L P L R JNTU WORLD [..]

    22 B A [JNTU WORLD]

    ( >,);

    ((,,( >),0)== 1)

    (\ M W E);

    ((=(1006,0))0)

    (1,.,);

    ++;

    ((= = 1)&(= =0))(\ N M Q Q:%,);

    16. .(

    )

    #

    #

    #

    #

    #

    #

    #

    # NUM_LOOPS 20

    ( , * [])

    __;

    _;

    www.jntuworld.com

    www.jntuworld.com

    www.jwjobs.net

  • 5/21/2018 Linux Programming Lab Record

    23/29

    j

    L P L R JNTU WORLD [..]

    23 B A [JNTU WORLD]

    _;

    ;

    _;

    ;

    ;

    __ = (IPC_PRIVATE, 1, 0600);

    (__ == 1)

    (": ");

    (1);

    (" ,

    '%'.\", __);

    _. = 0;

    = (__, 0, SETVAL, _);

    _ = ();

    (_)

    1:

    ("");

    (1);

    0:

    (=0;

  • 5/21/2018 Linux Programming Lab Record

    24/29

    j

    L P L R JNTU WORLD [..]

    24 B A [JNTU WORLD]

    (2);

    (() > 3*(RAND_MAX/4))

    ._ = 0;

    ._ = 10;(&, NULL);

    ;

    0;

    17. .

    #

    #

    #

    ()

    _;

    * _;

    _ ;

    _;

    __ = 06400;

    /* A . */

    _ = (IPC_PRIVATE, __,

    IPC_CREAT IPC_EXCL S_IRUSR S_IWUSR);

    /* A . */

    _ = (*) (_, 0, 0);

    ( %\, _);

    /* D . */

    (_, IPC_STAT, &);

    _ = ._;

    ( : %\, _);

    /* W . */

    (_, H, .);

    www.jntuworld.com

    www.jntuworld.com

    www.jwjobs.net

  • 5/21/2018 Linux Programming Lab Record

    25/29

    j

    L P L R JNTU WORLD [..]

    25 B A [JNTU WORLD]

    /* D . */

    (_);

    /* R , . */

    _ = (*) (_, (*) 05000000, 0);

    ( %\, _);/* P . */

    (%\, _);

    /* D . */

    (_);

    /* D . */

    (_, IPC_RMID, 0);

    0;

    18. .

    #

    #

    #

    #

    # MAXBUF 100

    # KEY 1216

    # SEQFILE

    ,;

    _();

    _();

    www.jntuworld.com

    www.jntuworld.com

    www.jwjobs.net

  • 5/21/2018 Linux Programming Lab Record

    26/29

    j

    L P L R JNTU WORLD [..]

    26 B A [JNTU WORLD]

    ;

    _ *;

    *;;

    (])

    , ,, , ;

    [MAXBUF+1];

    =();

    ((=(KEY, 1, IPC_CREAT 0666))= = 1)

    ();(1);

    .=1;

    ((,0,SETVAL,)

  • 5/21/2018 Linux Programming Lab Record

    27/29

    j

    L P L R JNTU WORLD [..]

    27 B A [JNTU WORLD]

    ();

    (1);

    (1);

    _();

    _( )

    =(0, 1, 0);

    ((, &, 1)= =0)

    (L: R\);

    (E L\);

    _( )

    =(0, 1, 0);

    ((, &, 1)= =0)

    (UL: R\);

    (E U\);

    19. /.

    #

    # < /.>

    #

    ( , **)

    www.jntuworld.com

    www.jntuworld.com

    www.jwjobs.net

  • 5/21/2018 Linux Programming Lab Record

    28/29

    j

    L P L R JNTU WORLD [..]

    28 B A [JNTU WORLD]

    FILE *1;

    ,=0;

    ;

    1=([1],"");

    (!(1))

    =(1);

    (==' ')

    =+1;

    ("\ T B= %",);

    (0);

    20. .

    A . I

    .

    A , FIFO ,

    ; . A FIFO

    () .

    WRITER.C

    #

    #

    # #

    ()

    ;

    * = "//";

    /* FIFO ( ) */

    (, 0666);

    www.jntuworld.com

    www.jntuworld.com

    www.jwjobs.net

  • 5/21/2018 Linux Programming Lab Record

    29/29

    j

    L P L R JNTU WORLD [..]

    29 B A [JNTU WORLD]

    /* "H" FIFO */

    = (, O_WRONLY);

    (, "H", ("H"));

    ();

    /* FIFO */

    ();

    0;

    READER.C

    # #

    #

    #

    # MAX_BUF 1024

    ()

    ; * = "//";

    [MAX_BUF];

    /* , , FIFO */

    = (, O_RDONLY);

    (, , MAX_BUF);

    ("R: %\", );

    ();

    0;

    www.jntuworld.com www.jwjobs.net