如何将字符串写入C中的文件?

时间:2010-11-15 09:13:40

标签: c

如何将此PHP函数转换为C?

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

2 个答案:

答案 0 :(得分:21)

#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);
    }
}

答案 1 :(得分:2)

这样的事情应该这样做:

#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;
}

它会检查各种错误情况,例如文件I / O问题,如果没有则返回1(true),否则返回0(false)。这可能是你应该做的事情,即使是在PHP中。