Написание файла с использованием функции fopen
Я написал следующую программу на C для записи данных в файл. Программа скомпилирована правильно, но в файл ничего не записывается. Пожалуйста, предложите изменения, если это необходимо.
#include <stdio.h>
#include <errno.h>
int main()
{
int i;
FILE *fopen(),*fp;
fp = fopen("D:\Satish_SharedSubstance\V13.4-CT_Testing\LONGRUN_Testing\writetest.txt","w");
/*Create a file and add text*/
if(fp!=NULL)
{
fprintf(fp,"GRP \n");
fprintf(fp,"groupname group_1 \n");
fprintf(fp,"groupcomment group_1\n");
fprintf(fp,"jobnet 255 \n");
fprintf(fp,";\n");
for (i=1;i<=255;i++)
{
fprintf(fp,"GNT \n");
fprintf(fp,"jobnetname jobnet_t%d\n",i);
fprintf(fp,"jobnetnumber %d\n",i);
fprintf(fp,";");
}
/*writes data to the file*/
fclose(fp); /*done!*/
}
else
{
printf("Error opening file\n");
}
return 0;
}
3 ответа
Решение
Две вещи:
- Избавьтесь от *fopen() в объявлении переменной.
- Обратные слеши должны быть экранированы в C-строках. Заменить каждый
\
"с"\\
".
fp = fopen("D:\Satish_SharedSubstance\V13.4-CT_Testing\LONGRUN_Testing\writetest.txt","w");
Попробуйте заменить "\"
с "\\"
в пути.
Вы можете сделать следующее:-
FILE *fp = fopen("D:\\Satish_SharedSubstance\\V13.4-CT_Testing\\LONGRUN_Testing\\writetest.txt","w");