Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Creating a file using fopen()

I am just creating a basic file handling program. the code is this:

#include <stdio.h>
int main()
{
FILE *p;
p=fopen("D:\\TENLINES.TXT","r");
if(p==0)
{
    printf("Error",);

}

fclose(p);
}

This is giving Error, I cannot create files tried reinstalling the compiler and using different locations and names for files but no success. I am using Windows 7 and compiler is Dev C++ version 5

like image 385
Popeye Avatar asked Dec 14 '22 12:12

Popeye


2 Answers

Change the mode argument in fopen(const char *filename, const char *mode) from:

p=fopen("D:\\TENLINES.TXT","r");//this will not _create_ a file
if(p==0)                //  ^

To this:

p=fopen("D:\\TENLINES.TXT","w");//this will create a file for writing.
if(p==NULL)             //  ^   //If the file already exists, it will write over
                                //existing data.

If you want to add content to an existing file, you can use "a+" for the open mode.

See fopen() (for more open modes, and additional information about the fopen family of functions)

like image 90
ryyker Avatar answered Dec 27 '22 08:12

ryyker


According to tutorial, fopen returns NULL when error occurs. Therefore, you should check if p equals NULL.

Also, in printf("Error",);, omit the comma after string.

like image 30
Tlacenka Avatar answered Dec 27 '22 09:12

Tlacenka