3

ファイルにデータを書き込むために次の 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;
} 
4

3 に答える 3

4
 fp = fopen("D:\Satish_SharedSubstance\V13.4-CT_Testing\LONGRUN_Testing\writetest.txt","w");

パスで置き換え"\"てみてください。"\\"

于 2009-12-22T05:09:23.407 に答える
4

2つのこと:

  1. 変数宣言の *fopen() を取り除きます。
  2. バックスラッシュは、C 文字列ではエスケープする必要があります。\各「 」を「 」に置き換えます\\
于 2009-12-22T05:10:26.033 に答える
0

以下のことができます: -

FILE *fp = fopen("D:\\Satish_SharedSubstance\\V13.4-CT_Testing\\LONGRUN_Testing\\writetest.txt","w");  
于 2009-12-22T08:06:47.567 に答える