Как преобразовать эту функцию PHP в C?Как написать строку в файл в C?
function adx_store_data(filepath, data)
{
$fp = fopen(filepath,"ab+");
if($fp)
{
fputs($fp,data);
fclose($fp);
}
}
Как преобразовать эту функцию PHP в C?Как написать строку в файл в C?
function adx_store_data(filepath, data)
{
$fp = fopen(filepath,"ab+");
if($fp)
{
fputs($fp,data);
fclose($fp);
}
}
#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);
}
}
Что-то вроде этого следует сделать это:
#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 (истина), если все в порядке, 0 (ложь) в противном случае , Вероятно, это вам должно быть, даже в PHP.
Как насчет fclose (fOut)! = EOF? ;-) –
и, возможно, также должны быть некоторые утверждения по файловому пути и данным, чтобы удостовериться, что ни один из них не равен NULL? ;-) –
Проверка того, удалось ли 'fclose()' выполнить не просто паранойю. Вывод обычно буферизуется; скорее всего, ничего не будет записано в файл до вызова 'fclose()'. –