⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ff.htm

📁 C的学习图书是好书啊!!要学C的一定好看!
💻 HTM
📖 第 1 页 / 共 3 页
字号:

<P>函数名: FP_OFF
<BR>功&nbsp; 能: 获取远地址偏移量
<BR>用&nbsp; 法: unsigned FP_OFF(void far *farptr);
<BR>程序例:

<P>/* FP_OFF */

<P>#include &lt;dos.h>
<BR>#include &lt;stdio.h>

<P>int main(void)
<BR>{
<BR>&nbsp;&nbsp; char *str = "fpoff.c";

<P>&nbsp;&nbsp; printf("The offset of this file in memory\
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; is: %Fp\n",
FP_OFF(str));

<P>&nbsp;&nbsp; return 0;
<BR>}
<BR>&nbsp;
<BR>&nbsp;

<P>函数名: FP_SEG
<BR>功&nbsp; 能: 获取远地址段值
<BR>用&nbsp; 法: unsigned FP_SEG(void far *farptr);
<BR>程序例:

<P>/* FP_SEG */

<P>#include &lt;dos.h>
<BR>#include &lt;stdio.h>

<P>int main(void)
<BR>{
<BR>&nbsp;&nbsp; char *filename = "fpseg.c";

<P>&nbsp;&nbsp; printf("The offset of this file in memory\
<BR>&nbsp;&nbsp; is: %Fp\n", FP_SEG(filename));

<P>&nbsp;&nbsp; return(0);
<BR>}
<BR>&nbsp;
<BR>&nbsp;
<BR>&nbsp;

<P>函数名: fputc
<BR>功&nbsp; 能: 送一个字符到一个流中
<BR>用&nbsp; 法: int fputc(int ch, FILE *stream);
<BR>程序例:

<P>#include &lt;stdio.h>

<P>int main(void)
<BR>{
<BR>&nbsp;&nbsp; char msg[] = "Hello world";
<BR>&nbsp;&nbsp; int i = 0;

<P>&nbsp;&nbsp; while (msg[i])
<BR>&nbsp;&nbsp; {
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fputc(msg[i], stdout);
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; i++;
<BR>&nbsp;&nbsp; }
<BR>&nbsp;&nbsp; return 0;
<BR>}
<BR>&nbsp;
<BR>&nbsp;
<BR>&nbsp;

<P>函数名: fputchar
<BR>功&nbsp; 能: 送一个字符到标准输出流(stdout)中
<BR>用&nbsp; 法: int fputchar(char ch);
<BR>程序例:

<P>#include &lt;stdio.h>

<P>int main(void)
<BR>{
<BR>&nbsp;&nbsp; char msg[] = "This is a test";
<BR>&nbsp;&nbsp; int i = 0;

<P>&nbsp;&nbsp; while (msg[i])
<BR>&nbsp;&nbsp; {
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fputchar(msg[i]);
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; i++;
<BR>&nbsp;&nbsp; }
<BR>&nbsp;&nbsp; return 0;
<BR>}
<BR>&nbsp;
<BR>&nbsp;
<BR>&nbsp;

<P>函数名: fputs
<BR>功&nbsp; 能: 送一个字符到一个流中
<BR>用&nbsp; 法: int fputs(char *string, FILE *stream);
<BR>程序例:

<P>#include &lt;stdio.h>

<P>int main(void)
<BR>{
<BR>&nbsp;&nbsp; /* write a string to standard output */
<BR>&nbsp;&nbsp; fputs("Hello world\n", stdout);

<P>&nbsp;&nbsp; return 0;
<BR>}
<BR>&nbsp;
<BR>&nbsp;
<BR>&nbsp;

<P>函数名: fread
<BR>功&nbsp; 能: 从一个流中读数据
<BR>用&nbsp; 法: int fread(void *ptr, int size, int nitems, FILE *stream);
<BR>程序例:

<P>#include &lt;string.h>
<BR>#include &lt;stdio.h>

<P>int main(void)
<BR>{
<BR>&nbsp;&nbsp; FILE *stream;
<BR>&nbsp;&nbsp; char msg[] = "this is a test";
<BR>&nbsp;&nbsp; char buf[20];

<P>&nbsp;&nbsp; if ((stream = fopen("DUMMY.FIL", "w+"))
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; == NULL)
<BR>&nbsp;&nbsp; {
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fprintf(stderr,
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
"Cannot open output file.\n");
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return 1;
<BR>&nbsp;&nbsp; }

<P>&nbsp;&nbsp; /* write some data to the file */
<BR>&nbsp;&nbsp; fwrite(msg, strlen(msg)+1, 1, stream);

<P>&nbsp;&nbsp; /* seek to the beginning of the file */
<BR>&nbsp;&nbsp; fseek(stream, SEEK_SET, 0);

<P>&nbsp;&nbsp; /* read the data and display it */
<BR>&nbsp;&nbsp; fread(buf, strlen(msg)+1, 1, stream);
<BR>&nbsp;&nbsp; printf("%s\n", buf);

<P>&nbsp;&nbsp; fclose(stream);
<BR>&nbsp;&nbsp; return 0;
<BR>}
<BR>&nbsp;
<BR>&nbsp;

<P>函数名: free
<BR>功&nbsp; 能: 释放已分配的块
<BR>用&nbsp; 法: void free(void *ptr);
<BR>程序例:

<P>#include &lt;string.h>
<BR>#include &lt;stdio.h>
<BR>#include &lt;alloc.h>

<P>int main(void)
<BR>{
<BR>&nbsp;&nbsp; char *str;

<P>&nbsp;&nbsp; /* allocate memory for string */
<BR>&nbsp;&nbsp; str = malloc(10);

<P>&nbsp;&nbsp; /* copy "Hello" to string */
<BR>&nbsp;&nbsp; strcpy(str, "Hello");

<P>&nbsp;&nbsp; /* display string */
<BR>&nbsp;&nbsp; printf("String is %s\n", str);

<P>&nbsp;&nbsp; /* free memory */
<BR>&nbsp;&nbsp; free(str);

<P>&nbsp;&nbsp; return 0;
<BR>}
<BR>&nbsp;

<P>函数名: freemem
<BR>功&nbsp; 能: 释放先前分配的DOS内存块
<BR>用&nbsp; 法: int freemem(unsigned seg);
<BR>程序例:

<P>#include &lt;dos.h>
<BR>#include &lt;alloc.h>
<BR>#include &lt;stdio.h>

<P>int main(void)
<BR>{
<BR>&nbsp;&nbsp; unsigned int size, segp;
<BR>&nbsp;&nbsp; int stat;

<P>&nbsp;&nbsp; size = 64; /* (64 x 16) = 1024 bytes */
<BR>&nbsp;&nbsp; stat = allocmem(size, &amp;segp);
<BR>&nbsp;&nbsp; if (stat &lt; 0)
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("Allocated memory at segment:\
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; %x\n", segp);
<BR>&nbsp;&nbsp; else
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("Failed: maximum number of\
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; paragraphs available is %u\n",
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; stat);
<BR>&nbsp;&nbsp; freemem(segp);

<P>&nbsp;&nbsp; return 0;
<BR>}
<BR>&nbsp;
<BR>&nbsp;

<P>函数名: freopen
<BR>功&nbsp; 能: 替换一个流
<BR>用&nbsp; 法: FILE *freopen(char *filename, char *type, FILE *stream);
<BR>程序例:

<P>#include &lt;stdio.h>

<P>int main(void)
<BR>{
<BR>&nbsp;&nbsp; /* redirect standard output to a file */
<BR>&nbsp;&nbsp; if (freopen("OUTPUT.FIL", "w", stdout)
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; == NULL)
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fprintf(stderr, "error redirecting\
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
stdout\n");

<P>&nbsp;&nbsp; /* this output will go to a file */
<BR>&nbsp;&nbsp; printf("This will go into a file.");

<P>&nbsp;&nbsp; /* close the standard output stream */
<BR>&nbsp;&nbsp; fclose(stdout);

<P>&nbsp;&nbsp; return 0;
<BR>}
<BR>&nbsp;
<BR>&nbsp;
<BR>&nbsp;

<P>函数名: frexp
<BR>功&nbsp; 能: 把一个双精度数分解为尾数的指数
<BR>用&nbsp; 法: double frexp(double value, int *eptr);
<BR>程序例:

<P>#include &lt;math.h>
<BR>#include &lt;stdio.h>

<P>int main(void)
<BR>{
<BR>&nbsp;&nbsp; double mantissa, number;
<BR>&nbsp;&nbsp; int exponent;

<P>&nbsp;&nbsp; number = 8.0;
<BR>&nbsp;&nbsp; mantissa = frexp(number, &amp;exponent);

<P>&nbsp;&nbsp; printf("The number %lf is ", number);
<BR>&nbsp;&nbsp; printf("%lf times two to the ", mantissa);
<BR>&nbsp;&nbsp; printf("power of %d\n", exponent);

<P>&nbsp;&nbsp; return 0;
<BR>}
<BR>&nbsp;
<BR>&nbsp;

<P>函数名: fscanf
<BR>功&nbsp; 能: 从一个流中执行格式化输入
<BR>用&nbsp; 法: int fscanf(FILE *stream, char *format[,argument...]);
<BR>程序例:

<P>#include &lt;stdlib.h>
<BR>#include &lt;stdio.h>

<P>int main(void)
<BR>{
<BR>&nbsp;&nbsp; int i;

<P>&nbsp;&nbsp; printf("Input an integer: ");

<P>&nbsp;&nbsp; /* read an integer from the
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; standard input stream */
<BR>&nbsp;&nbsp; if (fscanf(stdin, "%d", &amp;i))
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("The integer read was: %i\n",
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
i);
<BR>&nbsp;&nbsp; else
<BR>&nbsp;&nbsp; {
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fprintf(stderr, "Error reading an \
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
integer from stdin.\n");
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; exit(1);
<BR>&nbsp;&nbsp; }
<BR>&nbsp;&nbsp; return 0;
<BR>}
<BR>&nbsp;
<BR>&nbsp;
<BR>&nbsp;

<P>函数名: fseek
<BR>功&nbsp; 能: 重定位流上的文件指针
<BR>用&nbsp; 法: int fseek(FILE *stream, long offset, int fromwhere);
<BR>程序例:

<P>#include &lt;stdio.h>

<P>long filesize(FILE *stream);

<P>int main(void)
<BR>{
<BR>&nbsp;&nbsp; FILE *stream;

<P>&nbsp;&nbsp; stream = fopen("MYFILE.TXT", "w+");
<BR>&nbsp;&nbsp; fprintf(stream, "This is a test");
<BR>&nbsp;&nbsp; printf("Filesize of MYFILE.TXT is %ld bytes\n", filesize(stream));
<BR>&nbsp;&nbsp; fclose(stream);
<BR>&nbsp;&nbsp; return 0;
<BR>}

<P>long filesize(FILE *stream)
<BR>{
<BR>&nbsp;&nbsp; long curpos, length;

<P>&nbsp;&nbsp; curpos = ftell(stream);
<BR>&nbsp;&nbsp; fseek(stream, 0L, SEEK_END);
<BR>&nbsp;&nbsp; length = ftell(stream);
<BR>&nbsp;&nbsp; fseek(stream, curpos, SEEK_SET);
<BR>&nbsp;&nbsp; return length;
<BR>}
<BR>&nbsp;
<BR>&nbsp;
<BR>&nbsp;
<BR>&nbsp;
<BR>&nbsp;

<P>函数名: fsetpos
<BR>功&nbsp; 能: 定位流上的文件指针
<BR>用&nbsp; 法: int fsetpos(FILE *stream, const fpos_t *pos);
<BR>程序例:

<P>#include &lt;stdlib.h>
<BR>#include &lt;stdio.h>

<P>void showpos(FILE *stream);

<P>int main(void)
<BR>{
<BR>&nbsp;&nbsp; FILE *stream;
<BR>&nbsp;&nbsp; fpos_t filepos;

<P>&nbsp;&nbsp; /* open a file for update */
<BR>&nbsp;&nbsp; stream = fopen("DUMMY.FIL", "w+");

<P>&nbsp;&nbsp; /* save the file pointer position */
<BR>&nbsp;&nbsp; fgetpos(stream, &amp;filepos);

<P>&nbsp;&nbsp; /* write some data to the file */
<BR>&nbsp;&nbsp; fprintf(stream, "This is a test");

<P>&nbsp;&nbsp; /* show the current file position */
<BR>&nbsp;&nbsp; showpos(stream);

<P>&nbsp;&nbsp; /* set a new file position, display it */
<BR>&nbsp;&nbsp; if (fsetpos(stream, &amp;filepos) == 0)
<BR>&nbsp;&nbsp;&nbsp;&nbsp; showpos(stream);
<BR>&nbsp;&nbsp; else
<BR>&nbsp;&nbsp; {
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fprintf(stderr, "Error setting file
\
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pointer.\n");
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; exit(1);
<BR>&nbsp;&nbsp; }

<P>&nbsp;&nbsp; /* close the file */
<BR>&nbsp;&nbsp; fclose(stream);
<BR>&nbsp;&nbsp; return 0;
<BR>}

<P>void showpos(FILE *stream)
<BR>{
<BR>&nbsp;&nbsp; fpos_t pos;

<P>&nbsp;&nbsp; /* display the current file pointer
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; position of a stream */
<BR>&nbsp;&nbsp; fgetpos(stream, &amp;pos);
<BR>&nbsp;&nbsp; printf("File position: %ld\n", pos);
<BR>}
<BR>&nbsp;

<P>函数名: fstat
<BR>功&nbsp; 能: 获取打开文件信息
<BR>用&nbsp; 法: int fstat(char *handle, struct stat *buff);
<BR>程序例:

<P>#include &lt;sys\stat.h>
<BR>#include &lt;stdio.h>
<BR>#include &lt;time.h>

<P>int main(void)
<BR>{
<BR>&nbsp;&nbsp; struct stat statbuf;
<BR>&nbsp;&nbsp; FILE *stream;

<P>&nbsp;&nbsp; /* open a file for update */
<BR>&nbsp;&nbsp; if ((stream = fopen("DUMMY.FIL", "w+"))
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; == NULL)
<BR>&nbsp;&nbsp; {
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fprintf(stderr, "Cannot open output
\
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
file.\n");
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return(1);
<BR>&nbsp;&nbsp; }
<BR>&nbsp;&nbsp; fprintf(stream, "This is a test");
<BR>&nbsp;&nbsp; fflush(stream);

<P>&nbsp;&nbsp; /* get information about the file */
<BR>&nbsp;&nbsp; fstat(fileno(stream), &amp;statbuf);
<BR>&nbsp;&nbsp; fclose(stream);

<P>&nbsp;&nbsp; /* display the information returned */
<BR>&nbsp;&nbsp; if (statbuf.st_mode &amp; S_IFCHR)
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("Handle refers to a device.\n");
<BR>&nbsp;&nbsp; if (statbuf.st_mode &amp; S_IFREG)
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("Handle refers to an ordinary
\
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
file.\n");
<BR>&nbsp;&nbsp; if (statbuf.st_mode &amp; S_IREAD)
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("User has read permission on
\
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
file.\n");
<BR>&nbsp;&nbsp; if (statbuf.st_mode &amp; S_IWRITE)
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("User has write permission on
\
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
file.\n");

<P>&nbsp;&nbsp; printf("Drive letter of file: %c\n",
<BR>&nbsp;&nbsp; 'A'+statbuf.st_dev);
<BR>&nbsp;&nbsp; printf("Size of file in bytes: %ld\n",
<BR>&nbsp;&nbsp; statbuf.st_size);
<BR>&nbsp;&nbsp; printf("Time file last opened: %s\n",
<BR>&nbsp;&nbsp; ctime(&amp;statbuf.st_ctime));
<BR>&nbsp;&nbsp; return 0;
<BR>}
<BR>&nbsp;
<BR>&nbsp;
<BR>&nbsp;

<P>函数名: ftell
<BR>功&nbsp; 能: 返回当前文件指针
<BR>用&nbsp; 法: long ftell(FILE *stream);
<BR>程序例:

<P>#include &lt;stdio.h>

<P>int main(void)
<BR>{
<BR>&nbsp;&nbsp; FILE *stream;

<P>&nbsp;&nbsp; stream = fopen("MYFILE.TXT", "w+");
<BR>&nbsp;&nbsp; fprintf(stream, "This is a test");
<BR>&nbsp;&nbsp; printf("The file pointer is at byte \
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; %ld\n", ftell(stream));
<BR>&nbsp;&nbsp; fclose(stream);
<BR>&nbsp;&nbsp; return 0;
<BR>}
<BR>&nbsp;
<BR>&nbsp;
<BR>&nbsp;

<P>函数名: fwrite
<BR>功&nbsp; 能: 写内容到流中
<BR>用&nbsp; 法: int fwrite(void *ptr, int size, int nitems, FILE *stream);
<BR>程序例:

<P>#include &lt;stdio.h>

<P>struct mystruct
<BR>{
<BR>&nbsp; int i;
<BR>&nbsp; char ch;
<BR>};

<P>int main(void)
<BR>{
<BR>&nbsp;&nbsp; FILE *stream;
<BR>&nbsp;&nbsp; struct mystruct s;

<P>&nbsp;&nbsp; if ((stream = fopen("TEST.$$$", "wb")) == NULL) /* open
file TEST.$$$ */
<BR>&nbsp;&nbsp; {
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fprintf(stderr, "Cannot open output
file.\n");
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return 1;
<BR>&nbsp;&nbsp; }
<BR>&nbsp;&nbsp; s.i = 0;
<BR>&nbsp;&nbsp; s.ch = 'A';
<BR>&nbsp;&nbsp; fwrite(&amp;s, sizeof(s), 1, stream); /* write struct
s to file */
<BR>&nbsp;&nbsp; fclose(stream); /* close file */
<BR>&nbsp;&nbsp; return 0;
<BR>}
<BR>&nbsp;

<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<A HREF="index.html">返回目录</A>

<BR>&nbsp;

<P>
</BODY>
</HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -