易截截图软件、单文件、免安装、纯绿色、仅160KB

c获取文件的大小和文件属性、文件查找

1 fseek移动指针获取
#include <stdio.h>
#include <stdlib.h>
long filesize( FILE *fp )
{
    long int save_pos;
    long size_of_file;
    /* Save the current position. */
    save_pos = ftell( fp );
    /* Jump to the end of the file. */
    fseek( fp, 0L, SEEK_END );
    /* Get the end position. */
    size_of_file = ftell( fp );
    /* Jump back to the original position. */
    fseek( fp, save_pos, SEEK_SET );
    return( size_of_file );
}
int main( void )
{
    FILE *fp;
    fp = fopen( "aa.txt", "r" );
    if( fp != NULL ) {
        printf( "File size=%ld\n", filesize( fp ) );
        fclose( fp );
        return EXIT_SUCCESS;
    }
    return EXIT_FAILURE;
}
2 stat获取
#include <stdio.h>
#include <stdlib.h>
#include <sys/stat.h>
int main( void )
{
struct stat buf;
if( stat( "file", &buf ) != -1 ) {
printf( "File size = %d\n", buf.st_size );
}
return EXIT_SUCCESS;
}
但是是有区别的,如
参考fseek()。
  通过fseek()、ftell()两个函数,我们就可以随意访问文件的任何位置了,想了想好像操作文件就这么easy,实在也没有更多可说的了。对了,fseek()和ftell()存在一个潜在的问题就是他们限制文件的大小只能在long类型的表示范围以内,也就是说通过这种方式,只能打开 2,000,000,000字节的文件,不过在绝大多数情况下似乎也已经够用了。如果需要打开更大的文件,你需要用到fgetpos()、 fsetpos()函数了,那是另一个命题了。
#include <stdio.h>
#include <string.h>
int main()
{
    int  i;
    long k;
    char buf[100];
    long int save_pos;
    FILE *fp;
  


相关文档:

华为C/C++笔试题(附答案)

http://www.teecool.com/post/2007081104.html
内容摘要:1.写出判断ABCD四个表达式的是否正确, 若正确, 写出经过表达式中 a的值(3分)
int a = 4;
(A)a += (a++); (B) a += (++a) ;(C) (a++) += a;(D) (++a) += (a++);
关键词:C语言面试题  C++面试题  华为面试题  
本文地址:http:// ......

高可靠性C程序的几点要求

一、可重入函数
1)什么是可重入性?
可重入(reentrant)函数可以由多于一个任务并发使用,而不必担心数据错误。相反, 不可重入(non-reentrant)函数不能由超过一个任务所共享,除非能确保函数的互斥(或者使用信号量,或者在代码的关键部分禁用中断)。可重入函数可以在任意时刻被中断,稍后再继续运行,不会丢失数据 ......

通过JNI在JAVA与C程序中传递参数

一、编辑Java源文件
=============================================
Hello.java
=============================================
package test;
public class Hello
{
  static
  {
    try
    {
      //此处即为本地方法所在链接库名
&n ......

C/C++数组名与指针区别深层探索

C/C++数组名与指针区别深层探索
 
作者:宋宝华 e-mail:21cnbao_AT_21cn.com [AT -> @]
1. 引言
指针是C/C++语言的特色,而数组名与指针有太多的相似,甚至很多时候,数组名可以作为指针使用。于是乎,很多
程序设计者就被搞糊涂了。而许多的大学老师,他们在C 语言的教学过程中也错误得给学生讲解:“数 ......

C++与C进行相互函数调用,extern关键词的妙用

   extern除了能够用于声明变量,已经在外部被定义,不用重新定义和分配内存空间,还可以在C++与C进行相互函数调用方面会有很大的用处。
   首先,我们来看一下,为什么C++和C语言不能相互进行函数调用:
   编写如下的源文件:
   int func(int i)
{
return 1;
}
&nbs ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号