3

RPC プログラムの fprintf に問題があります。ファイルを開きますが、コンテンツをファイルに読み込みません。printf を使用してコンテンツを印刷しますが、fprint はファイルを空白のままにします。この問題を解決するにはどうすればよいですか? ありがとうございました

#include <rpc/rpc.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include"lab5.h"

char * filename(char *str)
{

    file = str;
    printf("filename = %s\n",file);
    return file;
}

int writefile(char *content)
{
    FILE *fp1;
    fp1 = fopen("recfile.txt", "w");
    if(fp1 == NULL)
    {
        printf("File can't be created\n");
        return 0;
    }
    printf("%s\n",content);
    int i = fprintf(fp1, "%s", content);
    printf("i = %d\n",i);
    close(fp1);
    return 1;   
}

int findwordcount(char* searchword)
{
    char *grep;
    int count;
    int status;
    FILE *fp;
    grep = (char*)calloc(150, sizeof(char));
    strcpy(grep, "grep -c \"");
    strcat(grep, searchword);
    strcat(grep, "\" ");
    strcat(grep, "recfile.txt");
    strcat(grep, " > wordcount.txt");
    status = system(grep);
    printf("status = %d\n", status);
    if(status != 0)
    {
        count = 0;
    }
    else
    {
        fp = fopen("wordcount.txt", "r");   
        fscanf(fp, "%d", &count);
        printf("count = %d\n", count);
    }
    return count;
}
4

1 に答える 1

3

あなたの機能int writefile (char *content);では、現在使用していclose(fp1);ます。ファイルを閉じる代わりに、代わりに閉じる必要がありますfclose(fp1)

于 2012-04-29T03:42:28.030 に答える