Thread: Need Help

  1. #1
    Patent Pending GSLR's Avatar
    Join Date
    Sep 2001

    Unhappy Need Help


    Dont post often but could someone help here as Im trying to create a folder using c in win 98 Os ,Ican create files but the folder thing has got me.
    Also here is a snippet

    int main()
    FILE *ptr;
    char filename[]="test.txt":
    ptr = fopen(filename,"w");
    return 0;

    Ok this creates a file in the directory that you are currently using , how do I get it to create the file elsewhere whilst still using the array.
    Tried this but i guess you all know the outcome

    ptr = fopen("c:/filename","w");
    ptr = fopen("C:/"filename,"w"); ***Doesnt work****

    Ok Thanx

  2. #2
    Registered User hk_mp5kpdw's Avatar
    Join Date
    Jan 2002
    Northern Virginia/Washington DC Metropolitan Area
    This is what MSDN Library says about the "_mkdir" function which is what you may need:
    _mkdir, _wmkdir
    Create a new directory.

    int _mkdir( const char *dirname );

    int _wmkdir( const wchar_t *dirname );

    Routine Required Header Compatibility
    _mkdir <direct.h> Win 95, Win NT
    _wmkdir <direct.h> or <wchar.h> Win NT

    For additional compatibility information, see Compatibility in the Introduction.


    LIBC.LIB Single thread static library, retail version
    LIBCMT.LIB Multithread static library, retail version
    MSVCRT.LIB Import library for MSVCRT.DLL, retail version

    Return Value

    Each of these functions returns the value 0 if the new directory was created. On an error the function returns 1 and sets errno as follows:


    Directory was not created because dirname is the name of an existing file, directory, or device


    Path was not found



    Path for new directory


    The _mkdir function creates a new directory with the specified dirname. _mkdir can create only one new directory per call, so only the last component of dirname can name a new directory. _mkdir does not translate path delimiters. In Windows NT, both the backslash ( \) and the forward slash (/ ) are valid path delimiters in character strings in run-time routines.

    _wmkdir is a wide-character version of _mkdir; the dirname argument to _wmkdir is a wide-character string. _wmkdir and _mkdir behave identically otherwise.

    Generic-Text Routine Mappings

    TCHAR.H Routine _UNICODE & _MBCS Not Defined _MBCS Defined _UNICODE Defined
    _tmkdir _mkdir _mkdir _wmkdir


    /* MAKEDIR.C */

    #include <direct.h>
    #include <stdlib.h>
    #include <stdio.h>

    void main( void )
    if( _mkdir( "\\testtmp" ) == 0 )
    printf( "Directory '\\testtmp' was successfully created\n" );
    system( "dir \\testtmp" );
    if( _rmdir( "\\testtmp" ) == 0 )
    printf( "Directory '\\testtmp' was successfully removed\n" );
    printf( "Problem removing directory '\\testtmp'\n" );
    printf( "Problem creating directory '\\testtmp'\n" );


    Directory '\testtmp' was successfully created
    Volume in drive C is CDRIVE
    Volume Serial Number is 0E17-1702

    Directory of C:\testtmp

    05/03/94 12:30p <DIR> .
    05/03/94 12:30p <DIR> ..
    2 File(s) 0 bytes
    17,358,848 bytes free
    Directory '\testtmp' was successfully removed

    Directory Control Routines

    See Also _chdir, _rmdir
    "Owners of dogs will have noticed that, if you provide them with food and water and shelter and affection, they will think you are god. Whereas owners of cats are compelled to realize that, if you provide them with food and water and shelter and affection, they draw the conclusion that they are gods."
    -Christopher Hitchens

Popular pages Recent additions subscribe to a feed