Thread: Problem with file

  1. #1
    Registered User
    Join Date
    Mar 2007
    Posts
    42

    Problem with file

    Hi,

    I have some problem concerning files. I have a first one (PRODUIT.DAT) containing this.
    Code:
    11 MEMOREXCD 29.99 20.75 100
    15 CARTOUCHENOIR 27.99 22.25 150
    18 CARTOUCHECOULEUR 49.99 38.50 20
    24 SOURISSANSFIL 49.99 32.55 10
    28 CLAVIER 29.99 15.00 15
    11, 15, 18, 24 and 28 are the number of the product (iNoProduit). After, there is the name of the product(sNomProduit). then there is the selling value (fPrixProduit), the orriginal cost of the product (fCoutProduit) and finally, the quantity of the product (iQtdProduit). After, I have a second file (TRANSAC.DAT)
    Code:
    1 10 10
    1 12 5
    3 13 15
    1 14 6
    1 16 1
    2 18 2
    First, where there is 1 1 3 1 1 2 (iNoTransaction), this mean 1 = add product quantity, 2 = remove product quantity and 3 = delete the entire product. 10 12 13 14 16 18 mean the number of the product on which you want to make the modification (related to the previous file (iNoProduit)). As you can see, 10 is not in PRODUIT.DAT which mean that the program create a file named MESSAGE.DAT in which he put the number in it and tell that he is not in the list. Finally, 10 5 15 6 1 2 (iQtdTransaction) mean the quantity you want to change (add or remove) depending if iNoTransaction = 1 or 2.

    At the end, the program generate a file called RESULTAT.DAT in which he put the number of the product, the name of the product, it's price, it's original cost and it's new quantity.
    Code:
      11 MEMOREXCD 29.99 20.75 100
      15 CARTOUCHENOIR 27.99  22.25 150
      18 CARTOUCHECOULEUR 49.99 38.50 18
    (hope this was a bit clear)
    here's the part I did
    Code:
    #include <stdio.h>
    #include <myconio.h>
    #include <string.h>
    
    int main()
    {     
       FILE * pFichier;    
       FILE * pFichierTransac;
       FILE * pFichierMessage;
       FILE * pFichierResultat;
       char ligne [BUFSIZ];   
       char ligneTransac [BUFSIZ];
       char sNomProduit;
       int iNoProduit;
       int iNoProduitTransac;
       int iQtdProduit;
       int iNoTransaction;
       float fPrixProduit;
       float fCoutProduit;
       int iQtdTransaction;
    
       pFichierMessage = fopen ("MESSAGE.DAT" , "w");
       pFichierResultat= fopen ("RESULTAT.DAT" , "w");
       
       pFichier = fopen ("PRODUITS.DAT" , "r");   //ouverture du fichier
       if (pFichier == NULL) perror ("Erreur a l'ouverture du fichier");
       else {
          while (fgets (ligne , BUFSIZ, pFichier) != NULL)
          {
           sscanf (ligne, "&#37;d %s %f %f %d",iNoProduit,&sNomProduit,fPrixProduit,
                                            fCoutProduit,iQtdProduit);
          
          pFichierTransac = fopen ("TRANSAC.DAT" , "r");   
          if (pFichierTransac == NULL) perror ("Erreur a l'ouverture du fichier");
          else {
             while (fgets (ligneTransac , BUFSIZ, pFichierTransac) != NULL)
             sscanf (ligne, "%d %d %d",iNoTransaction,iNoProduitTransac,
                                       iQtdTransaction);
             
             if (iNoProduitTransac == iNoProduit){
                switch ( iNoTransaction ) {
                       case 1: iQtdProduit = iQtdProduit + iQtdTransaction;                          
                       case 2: iQtdProduit = iQtdProduit - iQtdTransaction;                     
                       }
            }else{
                  fprintf(pFichierMessage,"Produit %d non trouve --> transaction IGNOREE", iNoTransaction); 
                  }       
            fprintf(pFichierResultat,"%d %s %f %f %i", iNoProduit,sNomProduit,fPrixProduit,fCoutProduit,iQtdProduit);
    }
    }  
    }
    getch();
    }
    First, this program crash. Also, I don't know how to simply remove one entire product (if iNoTransaction = 3). Finally, since there is surely a lot of mistake in this code, don't hesitate to tell me.

    Thanks a lot
    Last edited by nevrax; 04-22-2007 at 03:37 PM.

  2. #2
    Just Lurking Dave_Sinkula's Avatar
    Join Date
    Oct 2002
    Posts
    5,005
    Turn up the warning level on your compiler.
    main.c:30: warning: format argument is not a pointer (arg 3)
    main.c:30: warning: format argument is not a pointer (arg 5)
    main.c:30: warning: format argument is not a pointer (arg 6)
    main.c:30: warning: format argument is not a pointer (arg 7)
    main.c:37: warning: format argument is not a pointer (arg 3)
    main.c:37: warning: format argument is not a pointer (arg 4)
    main.c:37: warning: format argument is not a pointer (arg 5)
    main.c:47: warning: format argument is not a pointer (arg 4)
    7. It is easier to write an incorrect program than understand a correct one.
    40. There are two ways to write error-free programs; only the third one works.*

  3. #3
    Registered User ssharish2005's Avatar
    Join Date
    Sep 2005
    Location
    Cambridge, UK
    Posts
    1,732
    Code:
       sscanf (ligne, "&#37;d %s %f %f %d",iNoProduit,&sNomProduit,fPrixProduit,
                                            fCoutProduit,iQtdProduit);
    This should be
    Code:
       sscanf (ligne, "%d %s %f %f %d",&iNoProduit,sNomProduit,&fPrixProduit,
                                            &fCoutProduit,&iQtdProduit);
    More over u need to check for the files which u have opened for writing, i mean the return value. Error checking is missed. and some non standard libaray function used like getch() which shouldn't been used. Instead use getchar().

    And again here as well, u will have to give the address of the variable while fetching any non string values from the a string using sscanf.
    Code:
     sscanf (ligne, "%d %d %d",iNoTransaction,iNoProduitTransac,
                                       iQtdTransaction);
    Should be

    Code:
     sscanf (ligne, "%d %d %d",&iNoTransaction,&iNoProduitTransac,
                                       &iQtdTransaction);
    ssharish2005

  4. #4
    Registered User
    Join Date
    Mar 2007
    Posts
    42
    I did the modification concerning the pointers, unfortunatly, my program still crash before writing anything in a file.
    Code:
    More over u need to check for the files which u have opened for writing, i mean the return value. Error checking is missed.
    Since I'm new with file, I don't really understand what you mean. Could I have an exemple please. And if someone can tell me how to completly remove a product (when iNoTransaction = 3), it would once again be greatly appreciated.

  5. #5
    Just Lurking Dave_Sinkula's Avatar
    Join Date
    Oct 2002
    Posts
    5,005
    sNomProduit should be an array of chars, not a single char, if you intend it to hold a string.
    7. It is easier to write an incorrect program than understand a correct one.
    40. There are two ways to write error-free programs; only the third one works.*

  6. #6
    Registered User
    Join Date
    Mar 2007
    Posts
    42
    Ok, with those stupid mistake corrected, I'm starting to see the light at the end of the tunnel. Now, remember when I was saying that I was putting the missing numbers in a message file. Well, he does the opposite.
    Code:
    #include <stdio.h>
    #include <myconio.h>
    #include <string.h>
    
    int main()
    {     
       FILE * pFichier;   
       FILE * pFichierTransac;
       FILE * pFichierMessage;
       FILE * pFichierResultat;
       char ligne [BUFSIZ];  
       char ligneTransac [BUFSIZ];
       char sNomProduit[30];
       int iNoProduit;
       int iNoProduitTransac;
       int iQtdProduit;
       int iNoTransaction;
       float fPrixProduit;
       float fCoutProduit;
       int iQtdTransaction;
    
       pFichierMessage = fopen ("MESSAGE.DAT" , "w");
       pFichierResultat= fopen ("RESULTAT.DAT" , "w");
       
       pFichier = fopen ("PRODUITS.DAT" , "r");   
       if (pFichier == NULL) perror ("Erreur a l'ouverture du fichier");
       else {
          while (fgets (ligne , BUFSIZ, pFichier) != NULL)
          {
            sscanf (ligne, "&#37;d %s %f %f %d",&iNoProduit,sNomProduit,&fPrixProduit,
                                            &fCoutProduit,&iQtdProduit);
          
          pFichierTransac = fopen ("TRANSAC.DAT" , "r");  
          if (pFichierTransac == NULL) perror ("Erreur a l'ouverture du fichier");
          else {
             while (fgets (ligneTransac , BUFSIZ, pFichierTransac) != NULL){
             sscanf (ligne, "%d %d %d",&iNoTransaction,&iNoProduitTransac,
                                       &iQtdTransaction);
             
             if (iNoProduitTransac == iNoProduit){
                switch ( iNoTransaction ) {
                       case 1: iQtdProduit = iQtdProduit + iQtdTransaction;                          
                       break;
                       case 2: iQtdProduit = iQtdProduit - iQtdTransaction;                     
                       break;     
              }
            }else{
                  fprintf(pFichierMessage,"Produit %d non trouve --> transaction IGNOREE\n", iNoTransaction); 
                  }       
            fprintf(pFichierResultat,"%d %s %f %f %i\n", iNoProduit,sNomProduit,fPrixProduit,fCoutProduit,iQtdProduit);
          }
         }
        } 
       }
    }
    Also, he doesn't change the number of product in the switch. I suspect those problem might be related to pointer.
    Last edited by nevrax; 04-23-2007 at 02:18 PM.

  7. #7
    Registered User
    Join Date
    Mar 2007
    Posts
    42
    I belive that the program ignore the if/else for some reasons. I tried to give adress (&) to some values but this did not change anything. Since I'm far from being an expert, could someone please tell me what's wrong with my if/else.

  8. #8
    and the hat of int overfl Salem's Avatar
    Join Date
    Aug 2001
    Location
    The edge of the known universe
    Posts
    39,656
    > while (fgets (ligneTransac , BUFSIZ, pFichierTransac) != NULL)
    Where are the braces for this loop?

    1. Always put them in until you really know what you're doing. It's all too easy to slide from a single statement to a compound statement without the compiler saying anything, but the code becomes broken anyway.

    2. Make sure your indentation is up to scratch. The last 4 braces in your post are all in column 1. This is no use at all.
    If you dance barefoot on the broken glass of undefined behaviour, you've got to expect the occasional cut.
    If at first you don't succeed, try writing your phone number on the exam paper.

  9. #9
    Registered User
    Join Date
    Mar 2007
    Posts
    42
    I added the braces but now, the output is repeted more than once and th result is still wrong. I am currently desperatly trying to correct this logic mistake, as well as the other one concerning the if/else. If anyone can help, it would be greatly appreciated. Take the last post for the code. Thanks.

  10. #10
    and the hat of int overfl Salem's Avatar
    Join Date
    Aug 2001
    Location
    The edge of the known universe
    Posts
    39,656
    Indentation 101
    Code:
    #include <stdio.h>
    #include <string.h>
    
    int main()
    {
        FILE *pFichier;
        FILE *pFichierTransac;
        FILE *pFichierMessage;
        FILE *pFichierResultat;
        char ligne[BUFSIZ];
        char ligneTransac[BUFSIZ];
        char sNomProduit[30];
        int iNoProduit;
        int iNoProduitTransac;
        int iQtdProduit;
        int iNoTransaction;
        float fPrixProduit;
        float fCoutProduit;
        int iQtdTransaction;
    
        pFichierMessage = fopen("MESSAGE.DAT", "w");
        pFichierResultat = fopen("RESULTAT.DAT", "w");
    
        pFichier = fopen("PRODUITS.DAT", "r");
        if (pFichier == NULL)
            perror("Erreur a l'ouverture du fichier");
        else {
            while (fgets(ligne, BUFSIZ, pFichier) != NULL) {
                sscanf(ligne, "&#37;d %s %f %f %d", &iNoProduit, sNomProduit,
                       &fPrixProduit, &fCoutProduit, &iQtdProduit);
    
                pFichierTransac = fopen("TRANSAC.DAT", "r");
                if (pFichierTransac == NULL)
                    perror("Erreur a l'ouverture du fichier");
                else {
                    while (fgets(ligneTransac, BUFSIZ, pFichierTransac) != NULL) {
                        sscanf(ligne, "%d %d %d", &iNoTransaction,
                               &iNoProduitTransac, &iQtdTransaction);
    
                        if (iNoProduitTransac == iNoProduit) {
                            switch (iNoTransaction) {
                            case 1:
                                iQtdProduit = iQtdProduit + iQtdTransaction;
                                break;
                            case 2:
                                iQtdProduit = iQtdProduit - iQtdTransaction;
                                break;
                            }
                        } else {
                            fprintf(pFichierMessage,
                                    "Produit %d non trouve --> transaction IGNOREE\n", iNoTransaction);
                        }
                        fprintf(pFichierResultat, "%d %s %f %f %i\n",
                                iNoProduit, sNomProduit, fPrixProduit, fCoutProduit, iQtdProduit);
                    }
                    /*!! now close the file */
                    fclose( pFichierTransac );
                }
            }
            /*!! now close the file */
            fclose( pFichier );
        }
        /*!! now return a status */
        return 0;
    }
    If you dance barefoot on the broken glass of undefined behaviour, you've got to expect the occasional cut.
    If at first you don't succeed, try writing your phone number on the exam paper.

  11. #11
    Registered User
    Join Date
    Mar 2007
    Posts
    42
    Thanks for that lesson, I shall remember the importance of identation. By the way, here is what the file mesage should look like.
    Code:
    Produit 10 non trouve --> transaction IGNOREE
    Produit 12 non trouve --> transaction IGNOREE
    Produit 13 non trouve --> transaction IGNOREE
    Produit 14 non trouve --> transaction IGNOREE
    Produit 16 non trouve --> transaction IGNOREE
    And here is what I get
    Code:
    Produit 11 non trouve --> transaction IGNOREE
    Produit 11 non trouve --> transaction IGNOREE
    Produit 11 non trouve --> transaction IGNOREE
    Produit 11 non trouve --> transaction IGNOREE
    Produit 11 non trouve --> transaction IGNOREE
    Produit 11 non trouve --> transaction IGNOREE
    Produit 11 non trouve --> transaction IGNOREE
    Produit 11 non trouve --> transaction IGNOREE
    Produit 11 non trouve --> transaction IGNOREE
    Produit 11 non trouve --> transaction IGNOREE
    Produit 11 non trouve --> transaction IGNOREE
    Produit 11 non trouve --> transaction IGNOREE
    Produit 11 non trouve --> transaction IGNOREE
    Produit 11 non trouve --> transaction IGNOREE
    Produit 11 non trouve --> transaction IGNOREE
    Produit 11 non trouve --> transaction IGNOREE
    Produit 11 non trouve --> transaction IGNOREE
    Produit 11 non trouve --> transaction IGNOREE
    Produit 11 non trouve --> transaction IGNOREE
    Produit 11 non trouve --> transaction IGNOREE
    Produit 11 non trouve --> transaction IGNOREE
    Produit 11 non trouve --> transaction IGNOREE
    Produit 11 non trouve --> transaction IGNOREE
    Produit 11 non trouve --> transaction IGNOREE
    Produit 11 non trouve --> transaction IGNOREE
    Produit 11 non trouve --> transaction IGNOREE
    Produit 11 non trouve --> transaction IGNOREE
    Produit 11 non trouve --> transaction IGNOREE
    Produit 11 non trouve --> transaction IGNOREE
    Produit 11 non trouve --> transaction IGNOREE
    Produit 11 non trouve --> transaction IGNOREE
    Produit 11 non trouve --> transaction IGNOREE
    Produit 11 non trouve --> transaction IGNOREE
    Produit 11 non trouve --> transaction IGNOREE
    Produit 11 non trouve --> transaction IGNOREE
    Produit 11 non trouve --> transaction IGNOREE
    Produit 11 non trouve --> transaction IGNOREE
    Produit 11 non trouve --> transaction IGNOREE
    Produit 11 non trouve --> transaction IGNOREE
    Produit 11 non trouve --> transaction IGNOREE
    Produit 11 non trouve --> transaction IGNOREE
    Produit 11 non trouve --> transaction IGNOREE
    Produit 15 non trouve --> transaction IGNOREE
    Produit 15 non trouve --> transaction IGNOREE
    Produit 15 non trouve --> transaction IGNOREE
    Produit 15 non trouve --> transaction IGNOREE
    Produit 15 non trouve --> transaction IGNOREE
    Produit 15 non trouve --> transaction IGNOREE
    Produit 15 non trouve --> transaction IGNOREE
    Produit 15 non trouve --> transaction IGNOREE
    Produit 15 non trouve --> transaction IGNOREE
    Produit 15 non trouve --> transaction IGNOREE
    Produit 15 non trouve --> transaction IGNOREE
    Produit 15 non trouve --> transaction IGNOREE
    Produit 15 non trouve --> transaction IGNOREE
    Produit 15 non trouve --> transaction IGNOREE
    Produit 15 non trouve --> transaction IGNOREE
    Produit 15 non trouve --> transaction IGNOREE
    Produit 15 non trouve --> transaction IGNOREE
    Produit 15 non trouve --> transaction IGNOREE
    Produit 15 non trouve --> transaction IGNOREE
    Produit 15 non trouve --> transaction IGNOREE
    Produit 15 non trouve --> transaction IGNOREE
    Produit 15 non trouve --> transaction IGNOREE
    Produit 15 non trouve --> transaction IGNOREE
    Produit 15 non trouve --> transaction IGNOREE
    Produit 15 non trouve --> transaction IGNOREE
    Produit 15 non trouve --> transaction IGNOREE
    Produit 15 non trouve --> transaction IGNOREE
    Produit 15 non trouve --> transaction IGNOREE
    Produit 15 non trouve --> transaction IGNOREE
    Produit 15 non trouve --> transaction IGNOREE
    Produit 15 non trouve --> transaction IGNOREE
    Produit 15 non trouve --> transaction IGNOREE
    Produit 15 non trouve --> transaction IGNOREE
    Produit 15 non trouve --> transaction IGNOREE
    Produit 15 non trouve --> transaction IGNOREE
    Produit 15 non trouve --> transaction IGNOREE
    Produit 15 non trouve --> transaction IGNOREE
    Produit 15 non trouve --> transaction IGNOREE
    Produit 15 non trouve --> transaction IGNOREE
    Produit 15 non trouve --> transaction IGNOREE
    Produit 15 non trouve --> transaction IGNOREE
    Produit 15 non trouve --> transaction IGNOREE
    Produit 18 non trouve --> transaction IGNOREE
    Produit 18 non trouve --> transaction IGNOREE
    Produit 18 non trouve --> transaction IGNOREE
    Produit 18 non trouve --> transaction IGNOREE
    Produit 18 non trouve --> transaction IGNOREE
    Produit 18 non trouve --> transaction IGNOREE
    Produit 18 non trouve --> transaction IGNOREE
    Produit 18 non trouve --> transaction IGNOREE
    Produit 18 non trouve --> transaction IGNOREE
    Produit 18 non trouve --> transaction IGNOREE
    Produit 18 non trouve --> transaction IGNOREE
    Produit 18 non trouve --> transaction IGNOREE
    Produit 18 non trouve --> transaction IGNOREE
    Produit 18 non trouve --> transaction IGNOREE
    Produit 18 non trouve --> transaction IGNOREE
    Produit 18 non trouve --> transaction IGNOREE
    Produit 18 non trouve --> transaction IGNOREE
    Produit 18 non trouve --> transaction IGNOREE
    Produit 18 non trouve --> transaction IGNOREE
    Produit 18 non trouve --> transaction IGNOREE
    Produit 18 non trouve --> transaction IGNOREE
    Produit 18 non trouve --> transaction IGNOREE
    Produit 18 non trouve --> transaction IGNOREE
    Produit 18 non trouve --> transaction IGNOREE
    Produit 18 non trouve --> transaction IGNOREE
    Produit 18 non trouve --> transaction IGNOREE
    Produit 18 non trouve --> transaction IGNOREE
    Produit 18 non trouve --> transaction IGNOREE
    Produit 18 non trouve --> transaction IGNOREE
    Produit 18 non trouve --> transaction IGNOREE
    Produit 18 non trouve --> transaction IGNOREE
    Produit 18 non trouve --> transaction IGNOREE
    Produit 18 non trouve --> transaction IGNOREE
    Produit 18 non trouve --> transaction IGNOREE
    Produit 18 non trouve --> transaction IGNOREE
    Produit 18 non trouve --> transaction IGNOREE
    Produit 18 non trouve --> transaction IGNOREE
    Produit 18 non trouve --> transaction IGNOREE
    Produit 18 non trouve --> transaction IGNOREE
    Produit 18 non trouve --> transaction IGNOREE
    Produit 18 non trouve --> transaction IGNOREE
    Produit 18 non trouve --> transaction IGNOREE
    Produit 24 non trouve --> transaction IGNOREE
    Produit 24 non trouve --> transaction IGNOREE
    Produit 24 non trouve --> transaction IGNOREE
    Produit 24 non trouve --> transaction IGNOREE
    Produit 24 non trouve --> transaction IGNOREE
    Produit 24 non trouve --> transaction IGNOREE
    Produit 24 non trouve --> transaction IGNOREE
    Produit 24 non trouve --> transaction IGNOREE
    Produit 24 non trouve --> transaction IGNOREE
    Produit 24 non trouve --> transaction IGNOREE
    Produit 24 non trouve --> transaction IGNOREE
    Produit 24 non trouve --> transaction IGNOREE
    Produit 24 non trouve --> transaction IGNOREE
    Produit 24 non trouve --> transaction IGNOREE
    Produit 24 non trouve --> transaction IGNOREE
    Produit 24 non trouve --> transaction IGNOREE
    Produit 24 non trouve --> transaction IGNOREE
    Produit 24 non trouve --> transaction IGNOREE
    Produit 24 non trouve --> transaction IGNOREE
    Produit 24 non trouve --> transaction IGNOREE
    Produit 24 non trouve --> transaction IGNOREE
    Produit 24 non trouve --> transaction IGNOREE
    Produit 24 non trouve --> transaction IGNOREE
    Produit 24 non trouve --> transaction IGNOREE
    Produit 24 non trouve --> transaction IGNOREE
    Produit 24 non trouve --> transaction IGNOREE
    Produit 24 non trouve --> transaction IGNOREE
    Produit 24 non trouve --> transaction IGNOREE
    Produit 24 non trouve --> transaction IGNOREE
    Produit 24 non trouve --> transaction IGNOREE
    Produit 24 non trouve --> transaction IGNOREE
    Produit 24 non trouve --> transaction IGNOREE
    Produit 24 non trouve --> transaction IGNOREE
    Produit 24 non trouve --> transaction IGNOREE
    Produit 24 non trouve --> transaction IGNOREE
    Produit 24 non trouve --> transaction IGNOREE
    Produit 24 non trouve --> transaction IGNOREE
    Produit 24 non trouve --> transaction IGNOREE
    Produit 24 non trouve --> transaction IGNOREE
    Produit 24 non trouve --> transaction IGNOREE
    Produit 24 non trouve --> transaction IGNOREE
    Produit 24 non trouve --> transaction IGNOREE
    As you can see, my while is wrong and, don't bother with the French, the numbers are the opposite of what it should be. It put in the error file the good products.

  12. #12
    and the hat of int overfl Salem's Avatar
    Join Date
    Aug 2001
    Location
    The edge of the known universe
    Posts
    39,656
    Reading one thing, and converting another.
    Code:
                    while (fgets(ligneTransac, BUFSIZ, pFichierTransac) != NULL) {
                        sscanf(ligne, "&#37;d %d %d", &iNoTransaction,
                               &iNoProduitTransac, &iQtdTransaction);
    If you'd been good and paid attention to the return result, you would have spotted that.


    Should this be part of if (iNoProduitTransac == iNoProduit) ?
    Code:
                        fprintf(pFichierResultat, "%d %s %f %f %i\n",
                                iNoProduit, sNomProduit, fPrixProduit, fCoutProduit, iQtdProduit);
    If you dance barefoot on the broken glass of undefined behaviour, you've got to expect the occasional cut.
    If at first you don't succeed, try writing your phone number on the exam paper.

  13. #13
    Registered User
    Join Date
    Mar 2007
    Posts
    42
    Code:
    If you'd been good
    I belive I said many time that I wasn't good.
    Thanks for your help

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Newbie homework help
    By fossage in forum C Programming
    Replies: 3
    Last Post: 04-30-2009, 04:27 PM
  2. Can we have vector of vector?
    By ketu1 in forum C++ Programming
    Replies: 24
    Last Post: 01-03-2008, 05:02 AM
  3. gcc link external library
    By spank in forum C Programming
    Replies: 6
    Last Post: 08-08-2007, 03:44 PM
  4. Encryption program
    By zeiffelz in forum C Programming
    Replies: 1
    Last Post: 06-15-2005, 03:39 AM
  5. Rename file problem
    By Emporio in forum C Programming
    Replies: 2
    Last Post: 06-05-2002, 09:36 AM