Как записать строку в файл в C? - PullRequest
6 голосов
/ 15 ноября 2010

Как преобразовать эту функцию PHP в C?

function adx_store_data(filepath, data)
{
      $fp = fopen(filepath,"ab+");
      if($fp)
      {
          fputs($fp,data);
          fclose($fp);
      }
}

Ответы [ 2 ]

22 голосов
/ 15 ноября 2010
#include <stdio.h>

void adx_store_data(const char *filepath, const char *data)
{
    FILE *fp = fopen(filepath, "ab");
    if (fp != NULL)
    {
        fputs(data, fp);
        fclose(fp);
    }
}
2 голосов
/ 15 ноября 2010

Что-то вроде этого должно сделать это:

#include <stdio.h>
: : :
int adxStoreData (char *filepath, char *data) {
    int rc = 0;

    FILE *fOut = fopen (filepath, "ab+");
    if (fOut != NULL) {
        if (fputs (data, fOut) != EOF) {
            rc = 1;
        }
        fclose (fOut); // or for the paranoid: if (fclose (fOut) == EOF) rc = 0;
    }

    return rc;
}

Он проверяет различные условия ошибки, такие как проблемы с файловым вводом-выводом, и возвращает 1 (true), если все в порядке, 0 (false) в противном случае.Это, вероятно, то, что вы должны делать, даже в PHP.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...