本文整理汇总了C++中Fwrite函数的典型用法代码示例。如果您正苦于以下问题:C++ Fwrite函数的具体用法?C++ Fwrite怎么用?C++ Fwrite使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了Fwrite函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: headerWrite
int headerWrite(FD_t fd, Header h, enum hMagic magicp)
{
ssize_t nb;
size_t length;
void * uh;
uh = doHeaderUnload(h, &length);
if (uh == NULL)
return 1;
switch (magicp) {
case HEADER_MAGIC_YES:
nb = Fwrite(rpm_header_magic, sizeof(uint8_t), sizeof(rpm_header_magic), fd);
if (nb != sizeof(rpm_header_magic))
goto exit;
break;
case HEADER_MAGIC_NO:
break;
}
nb = Fwrite(uh, sizeof(char), length, fd);
exit:
uh = _free(uh);
return (nb == length ? 0 : 1);
}
示例2: rpmbfWrite
static unsigned rpmbfWrite(FD_t fd, rpmbf * bfa, size_t npkgs)
{
const char * fn = xstrdup(fdGetOPath(fd));
struct stat sb;
int ix;
int xx;
for (ix = 0; ix < (int) npkgs; ix++) {
rpmbf bf = bfa[ix];
static const char _bfmagic[] = "BFL3";
const unsigned char * _bits = (bf ? bf->bits : NULL);
uint32_t _n = (bf ? htonl(bf->n) : 0);
uint32_t _m = (bf ? htonl(bf->m) : 0);
uint32_t _k = (bf ? htonl(bf->k) : 0);
if (bf && rpmIsVerbose())
fprintf(stderr, "\tbf[%d] %p {%u,%u}[%u] %u bytes\n", ix, bf, (unsigned)bf->n, (unsigned)bf->m, (unsigned)bf->k, (unsigned)(16 + (bf->m+7)/8));
xx = Fwrite(_bfmagic, 1, 2, fd);
xx = Fwrite(&_n, 1, sizeof(_n), fd);
xx = Fwrite(&_m, 1, sizeof(_m), fd);
xx = Fwrite(&_k, 1, sizeof(_m), fd);
if (bf && bf->m > 0)
xx = Fwrite(bf->bits, 1, (bf->m+7)/8, fd);
}
xx = Fclose(fd);
xx = Stat(fn, &sb);
xx = Unlink(fn);
return sb.st_size;
}
示例3: headerWrite
int headerWrite(FD_t fd, Header h, int magicp)
{
ssize_t nb;
unsigned int length;
void * uh;
uh = headerExport(h, &length);
if (uh == NULL)
return 1;
switch (magicp) {
case HEADER_MAGIC_YES:
nb = Fwrite(rpm_header_magic, sizeof(uint8_t), sizeof(rpm_header_magic), fd);
if (nb != sizeof(rpm_header_magic))
goto exit;
break;
case HEADER_MAGIC_NO:
break;
}
nb = Fwrite(uh, sizeof(char), length, fd);
exit:
free(uh);
return (nb == length ? 0 : 1);
}
示例4: ddstry
short ddstry(short fd, char *ext, char *text, char *name, long size)
{
char c;
short hdrlen, i;
/* 4 Bytes f�r "ext", 4 Bytes f�r "size",
2 Bytes f�r Stringendnullen */
hdrlen = (short) (4 + 4 + strlen(text)+1 + strlen(name)+1);
/* Header senden */
if (Fwrite(fd, 2L, &hdrlen) != 2L)
return(DD_NAK);
i = (short) Fwrite(fd, 4L, ext);
i += (short) Fwrite(fd, 4L, &size);
i += (short) Fwrite(fd, strlen(text)+1, text);
i += (short) Fwrite(fd, strlen(name)+1, name);
if (i != hdrlen)
return(DD_NAK);
/* auf die Antwort warten */
if (Fread(fd, 1L, &c) != 1L)
return(DD_NAK);
return(c);
}
示例5: createTestFiles
void createTestFiles(void)
{
Dsetdrv(drive); // switch to selected drive
Dsetpath("\\");
(void) Dcreate("TESTDIR");
Dsetpath("\\TESTDIR");
int i, f;
char numString[8];
char fileName[16];
for(i=0; i<25; i++) {
byteToHex(i + 1, numString);
strcpy(fileName, "FILE_");
strcat(fileName, numString);
f = Fcreate(fileName, 0);
Fwrite(f, 7, fileName);
Fclose(f);
strcpy(fileName, "FILENAME.X");
strcat(fileName, numString);
f = Fcreate(fileName, 0);
Fwrite(f, 12, fileName);
Fclose(f);
strcpy(fileName, "DIR_");
strcat(fileName, numString);
(void) Dcreate(fileName);
}
}
示例6: itm_drop
/* HR 050203: drag & drop */
static
boolean itm_drop(WINDOW *w, int n, int *list, int kstate, ICND *icnlist, int x, int y)
{
int i, item, apid = -1, hdl = wind_find(x, y);
long fd;
/* ITMTYPE type;
*/ const char *path;
if (hdl > 0)
wind_get(hdl, WF_OWNER, &apid);
if (apid > 0)
{
char ddsexts[32];
fd = ddcreate(apid, ap_id, hdl, x, y, kstate, ddsexts);
if (fd > 0)
{
if (ddstry(fd, "ARGS", "", sizeof(LNAME)) != DD_NAK)
{
for (i = 0; i < n; i++)
{
if ((item = list[i]) == -1)
continue;
path = itm_fullname(w, item);
if (path)
{
/* type = itm_type(w, item);
alert_msg("type %d | %s | '%s'", type, name, path);
*/
Fwrite(fd, 1, "'");
Fwrite(fd, strlen(path), path);
Fwrite(fd, 1, "'");
}
if (i < n - 1)
Fwrite(fd, 1, " ");
}
ddclose(fd);
itm_select(w, -1, 0, TRUE);
return TRUE;
}
else
alert_printf(1, APPNOEXT);
ddclose(fd);
}
else
{
alert_printf(1, APPNODD);
return FALSE;
}
}
alert_printf(1, MILLDEST);
return FALSE;
}
示例7: writeINODE
void writeINODE(INODE * inodeP)
{
//data.txt的区块偏移, 加上INODE节点区的偏移
int offset = inodeP->inodeNumber * superBlockPointer->inodeSize + getInodeAreaOffset(superBlockPointer);
if(fseek(dataFp, offset, SEEK_SET) == 0){
int time_tmp = inodeP->aTime;
Fwrite(&time_tmp, 4, 1, dataFp);
//fwrite(&inodeP->aTime, 4, 1, dataFp);
time_tmp = inodeP->cTime;
Fwrite(&time_tmp, 4, 1, dataFp);
//fwrite(&inodeP->cTime, 4, 1, dataFp);
time_tmp = inodeP->mTime;
Fwrite(&time_tmp, 4, 1, dataFp);
//fwrite(&inodeP->mTime, 4, 1, dataFp);
Fwrite(&inodeP->GID, 4, 1, dataFp);
Fwrite(&inodeP->UID, 4, 1, dataFp);
Fwrite(&inodeP->authority, 4, 1, dataFp);
Fwrite(&inodeP->inodeNumber, 4, 1, dataFp);
Fwrite(&inodeP->blockNumber, 4, 1, dataFp);
Fwrite(&inodeP->length, 4, 1, dataFp);
BLOCK block;
block.blockNumber = inodeP->blockNumber;
writeBlock(&block, inodeP->mem);
//fwrite(inodeP, sizeof(INODE), 1, dataFp);
}
else{
printf("文件指针偏移失败,请重新打开程序尝试,不成功则程序已崩溃……!\r\n");
getchar();
exit(-255);
}
}
示例8: done
void done( void )
{
v_show_c( handle, 0 );
v_clsvwk( handle );
if (score>hiscore)
{
puts("\033HSie haben einen neuen Highscore erreicht!");
printf("Geben Sie Ihren Namen ein: ");
scanf("%126s",hiname);
highfile=(int)Fcreate("HISCORE.DAT",0);
Fwrite(highfile, 4, &score );
Fwrite(highfile, 128, hiname );
Fclose(highfile);
}
}
示例9: ddopen
short ddopen(short ddnam, char ddmsg)
{
long fd;
pipename[17] = (ddnam & 0xff00) >> 8;
pipename[18] = ddnam & 0x00ff;
fd = Fopen(pipename, 2);
if (fd < 0L)
return(-1);
/* Signalhandler konfigurieren */
ddgetsig(&pipesig);
if (Fwrite((short) fd, 1L, &ddmsg) != 1L)
{
ddclose((short) fd);
return(-1);
}
return((short) fd);
}
示例10: printFile
static void printFile(char *fileNam)
{
int fi, fo;
#define NBUFF 256
char buff[NBUFF];
long len;
fileNam[0] = 'd'; /* force data file */
if ( (fi=Fopen(fileNam, FO_READ)) >= 0 ) {
if ( (fo=Fcreate(prDevice, 0)) < 0)
fo=Fopen(prDevice, FO_WRITE);
/* Fopen may return < 0 for devices like PRN: ! */
if ( fo > -31) {
while ( (len=Fread(fi, NBUFF, buff)) > 0)
Fwrite(fo, len, buff);
Fclose(fo);
} else {
uiPrintf(uiH, uiPrERR, "cannot open device|>%s<", prDevice);
}
Fclose(fi);
} else {
uiPrintf(uiH, uiPrERR, "cannot open dFile");
}
Fdelete(fileNam);
fileNam[0] = 'c'; /* force control file */
Fdelete(fileNam);
}
示例11: rpmwfPushRPM
rpmRC rpmwfPushRPM(rpmwf wf, const char * fn)
{
char * b = NULL;
size_t nb = 0;
if (!strcmp(fn, "Lead")) {
b = wf->l;
nb = wf->nl;
} else
if (!strcmp(fn, "Signature")) {
b = wf->s;
nb = wf->ns;
} else
if (!strcmp(fn, "Header")) {
b = wf->h;
nb = wf->nh;
} else
if (!strcmp(fn, "Payload")) {
b = wf->p;
nb = wf->np;
}
if (!(b && nb > 0))
return RPMRC_NOTFOUND;
if (_rpmwf_debug)
fprintf(stderr, "==> rpmwfPushRPM(%p, %s) %p[%u]\n", wf, fn, b, (unsigned) nb);
if (Fwrite(b, sizeof(b[0]), nb, wf->fd) != nb)
return RPMRC_FAIL;
return RPMRC_OK;
}
示例12: Copy_file
int Copy_file(char *tos_name,char *long_name,int attributes)
{
short in_file,out_file;
long size;
int error;
if ((in_file=Fopen(tos_name,0))<0)
return(FALSE);
if ((out_file=Fcreate(long_name,attributes))<0)
{
Fclose(in_file);
return(FALSE);
}
do
{
size=Fread(in_file,FILE_BUFF_SIZE,file_buff);
error=(size!=Fwrite(out_file,size,file_buff));
} while((size==FILE_BUFF_SIZE)&&(!error));
Fclose(out_file);
Fclose(in_file);
return(!error);
}
示例13: ufdCopy
int ufdCopy(FD_t sfd, FD_t tfd)
{
char buf[BUFSIZ];
int itemsRead;
int itemsCopied = 0;
int rc = 0;
while (1) {
rc = Fread(buf, sizeof(buf[0]), sizeof(buf), sfd);
if (rc < 0)
break;
else if (rc == 0) {
rc = itemsCopied;
break;
}
itemsRead = rc;
rc = Fwrite(buf, sizeof(buf[0]), itemsRead, tfd);
if (rc < 0)
break;
if (rc != itemsRead) {
rc = -1;
break;
}
itemsCopied += itemsRead;
}
DBGIO(sfd, (stderr, "++ copied %d bytes\n", itemsCopied));
return rc;
}
示例14: makenewscore
short makenewscore() {
short ret = 0;
scoreentries = 0;
#if ATARIST
if ((sfdbn = Fcreate(SCOREFILE, 0)) < 0) ret = E_FOPENSCORE;
else {
Fwrite(sfdbn, 2L, &scoreentries);
Fclose(sfdbn);
}
#else
while( creat( LOCKFILE) < 0);
if( (scorefile = fopen( SCOREFILE, "w")) == NULL)
ret = E_FOPENSCORE;
else {
sfdbn = fileno( scorefile);
write( sfdbn, &scoreentries, 2);
fclose( scorefile);
}
unlink( LOCKFILE);
#endif
return( (ret == 0) ? E_ENDGAME : ret);
}
示例15: _tiffSeekProc
static toff_t
_tiffSeekProc(thandle_t fd, off_t off, int whence)
{
char buf[256];
long current_off, expected_off, new_off;
if (whence == SEEK_END || off <= 0)
return Fseek(off, (int) fd, whence);
current_off = Fseek(0, (int) fd, SEEK_CUR); /* find out where we are */
if (whence == SEEK_SET)
expected_off = off;
else
expected_off = off + current_off;
new_off = Fseek(off, (int) fd, whence);
if (new_off == expected_off)
return new_off;
/* otherwise extend file -- zero filling the hole */
if (new_off < 0) /* error? */
new_off = Fseek(0, (int) fd, SEEK_END); /* go to eof */
_TIFFmemset(buf, 0, sizeof(buf));
while (expected_off > new_off) {
off = expected_off - new_off;
if (off > sizeof(buf))
off = sizeof(buf);
if ((current_off = Fwrite((int) fd, off, buf)) != off)
return (current_off > 0) ?
new_off + current_off : new_off;
new_off += off;
}
return new_off;
}