Bu PHP işlevi C'ye nasıl dönüştürülür? BöyleC'deki bir dosyaya dize nasıl yazılır?
function adx_store_data(filepath, data)
{
$fp = fopen(filepath,"ab+");
if($fp)
{
fputs($fp,data);
fclose($fp);
}
}
Bu PHP işlevi C'ye nasıl dönüştürülür? BöyleC'deki bir dosyaya dize nasıl yazılır?
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);
}
}
şey yapmalı:
#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;
}
Böyle dosyası I/O problemleri gibi çeşitli hata koşullarını kontrol eder ve aksi tamam eğer 0 (yanlış) 1 (doğru) döndürür . Bu muhtemelen 'un PHP'de bile yapması gereken bir şeydir.
fclose (fOut)! = EOF hakkında ne dersiniz? ;-) –
ve belki de NULL olmadığından emin olmak için dosya yolu ve veri üzerinde bazı ipuçları olmalıdır? ;-) –
Başarısız olan fclose() öğesinin yalnızca paranoya olup olmadığını kontrol etme. Çıktı tipik olarak tamponlanır; Muhtemelen dosyaya 'fclose()' çağrısına kadar hiçbir şey yazılmayacaktır. –