易截截图软件、单文件、免安装、纯绿色、仅160KB
热门标签: c c# c++ asp asp.net linux php jsp java vb Python Ruby mysql sql access Sqlite sqlserver delphi javascript Oracle ajax wap mssql html css flash flex dreamweaver xml
 最新文章 : c++

C/C++ 路径为目录判断

#include <dirent.h>
#include <sys/stat.h>
#include <sys/types.h>
/****************************************************
* 函数功能: 判断参数路径是否为(正确的)目录
* 函数返回: 0为表示路径为文件,1为非目录.其他为错误
*    参数: path文件需要判断的目录的路径.
*          可以为相对路径.
*
*****************************************************/
int isDir(const char *path)
{
        struct stat info;
        if ( 0 != stat(path,&info) )
        {
                return -2;
        }
        if( info.st_mode & S_IFDIR )
        {
              & ......

C/C++ 路径为目录判断

#include <dirent.h>
#include <sys/stat.h>
#include <sys/types.h>
/****************************************************
* 函数功能: 判断参数路径是否为(正确的)目录
* 函数返回: 0为表示路径为文件,1为非目录.其他为错误
*    参数: path文件需要判断的目录的路径.
*          可以为相对路径.
*
*****************************************************/
int isDir(const char *path)
{
        struct stat info;
        if ( 0 != stat(path,&info) )
        {
                return -2;
        }
        if( info.st_mode & S_IFDIR )
        {
              & ......

C/C++ 判断路径为文件

/***************************************************
* 函数说明: 判断当前path参数是否为一个可读的文件
* 函数返回: 0 - 文件刻度 1 - 权限拒绝 -1 -函数错误
*   参 数 : path 文件路径.
***************************************************/
int isReadFile(const char *path)
{
        struct stat info;
        int euid,egid;
        if ( 0!= stat(path,&info) )
        {
                return -1;
        }
        //if it is a file
        if( S_IFREG != (info.st_mode & S_IFMT ) )
        {
                return 1;
     ......

C/C++ 判断路径为文件

/***************************************************
* 函数说明: 判断当前path参数是否为一个可读的文件
* 函数返回: 0 - 文件刻度 1 - 权限拒绝 -1 -函数错误
*   参 数 : path 文件路径.
***************************************************/
int isReadFile(const char *path)
{
        struct stat info;
        int euid,egid;
        if ( 0!= stat(path,&info) )
        {
                return -1;
        }
        //if it is a file
        if( S_IFREG != (info.st_mode & S_IFMT ) )
        {
                return 1;
     ......

在 C/C++中如何构造通用的对象链表(不很理解 )


http://blog.csdn.net/hwz119/archive/2007/05/25/1625218.aspx
    您是否做过这样一个项目,它要求您在内存中保存数目不定的若干不同对象?对于某些情况,二叉树是最佳选择,但在通常情况下,更简单的链表是显而易见的选择。
一个简化的问题示例
链表的难点在于必须复制链表处理函数来处理不同的对象,即便逻辑是完全相同的。例如:
两个结构类似的链表
struct Struct_Object_A
{
    int a;
    int b;
    Struct_Object_A *next;
} OBJECT_A;
typedef struct Struct_Object_B
{
    int a;
    int b;
    int c;
    Struct_Object_B *next;
} OBJECT_B;      
上面定义的两个结构只有很小的一点差别。OBJECT_B 和 OBJECT_A 之间只差一个整型变量。但是,在编译器看来,它们仍然是非常不同的。必须为存储在链表中的每个对象复制用来添加、删除和搜索链表的函数。为了解决这个问题,可以使用具有全部三个变量的一个联合或结构,其中整数 c 并不是在所有的情况下都要使用。这可能变得非常 ......

在 C/C++中如何构造通用的对象链表(不很理解 )


http://blog.csdn.net/hwz119/archive/2007/05/25/1625218.aspx
    您是否做过这样一个项目,它要求您在内存中保存数目不定的若干不同对象?对于某些情况,二叉树是最佳选择,但在通常情况下,更简单的链表是显而易见的选择。
一个简化的问题示例
链表的难点在于必须复制链表处理函数来处理不同的对象,即便逻辑是完全相同的。例如:
两个结构类似的链表
struct Struct_Object_A
{
    int a;
    int b;
    Struct_Object_A *next;
} OBJECT_A;
typedef struct Struct_Object_B
{
    int a;
    int b;
    int c;
    Struct_Object_B *next;
} OBJECT_B;      
上面定义的两个结构只有很小的一点差别。OBJECT_B 和 OBJECT_A 之间只差一个整型变量。但是,在编译器看来,它们仍然是非常不同的。必须为存储在链表中的每个对象复制用来添加、删除和搜索链表的函数。为了解决这个问题,可以使用具有全部三个变量的一个联合或结构,其中整数 c 并不是在所有的情况下都要使用。这可能变得非常 ......

Linux 下 C++ 异常处理技巧

http://www.ibm.com/developerworks/cn/linux/l-cppexcep.html
处理固有语言局限性的四种技术
处理 C++ 中的异常会在语言级别上遇到少许隐含限制,但在某些情况下,您可以绕过它们。学习各种利用异常的方法,您就可以生产更可靠的应用程序。
保留异常来源信息
在 C++中,无论何时在处理程序内捕获一个异常,关于该异常来源的信息都是不为人知的。异常的具体来源可以提供许多更好地处理该异常的重要信息,或者提供一些可以附加到错误日志的信息,以便以后进行分析。
为了解决这一问题,可以在抛出异常语句期间,在异常对象的构造函数中生成一个堆栈跟踪。ExceptionTracer
是示范这种行为的一个类。
//在异常对象构造函数中生成一个堆栈跟踪
// Sample Program:
// Compiler: gcc 3.2.3 20030502
// Linux: Red Hat
#include <execinfo.h>
#include <signal.h>
#include <exception>
#include <iostream>
using namespace std;
/////////////////////////////////////////////
class ExceptionTracer
{
public:
ExceptionTracer()
{
void * array[25];
int nSize = backtrace(array, ......

Linux 下 C++ 异常处理技巧

http://www.ibm.com/developerworks/cn/linux/l-cppexcep.html
处理固有语言局限性的四种技术
处理 C++ 中的异常会在语言级别上遇到少许隐含限制,但在某些情况下,您可以绕过它们。学习各种利用异常的方法,您就可以生产更可靠的应用程序。
保留异常来源信息
在 C++中,无论何时在处理程序内捕获一个异常,关于该异常来源的信息都是不为人知的。异常的具体来源可以提供许多更好地处理该异常的重要信息,或者提供一些可以附加到错误日志的信息,以便以后进行分析。
为了解决这一问题,可以在抛出异常语句期间,在异常对象的构造函数中生成一个堆栈跟踪。ExceptionTracer
是示范这种行为的一个类。
//在异常对象构造函数中生成一个堆栈跟踪
// Sample Program:
// Compiler: gcc 3.2.3 20030502
// Linux: Red Hat
#include <execinfo.h>
#include <signal.h>
#include <exception>
#include <iostream>
using namespace std;
/////////////////////////////////////////////
class ExceptionTracer
{
public:
ExceptionTracer()
{
void * array[25];
int nSize = backtrace(array, ......

教你理解复杂的C/C++声明

      曾经碰到过让你迷惑不解、类似于int * (* (*fp1) (int) )
[10];这样的变量声明吗?本文将由易到难,一步一步教会你如何理解这种复杂的C/C++声明:我们
将从每天都能碰到的较简单的声明入手,然后逐步加入const修饰
符和typedef,还有函数指针,最后介绍一个能够让你准确地理解任何C/C++声明的“右左法则”。需要强调一下的是,复杂的C/C++声明并不是好
的编程风格;我这里仅仅是教你如何去理解这些声明。注意:为了保证能够在同一行上显示代码和相关注释,本文最好在至少1024x768分辨率的显示器上阅
读。

基础
让我们从一个非常简单的例子开始,如下:
int n;
这个应该被理解为“declare n as an int”(n是一个int型的变量)。
接下去来看一下指针变量,如下:
int *p;
这个应该被理解为“declare p as an int *”(p是一个int
*型的变量),或者说p是一个指向一个int型变量的指针。我想在这里展开讨论一下:我觉得在声明一个指针(或引用)类型的变量时,最好将*
(或&)写在紧靠变量之前,而不是紧跟基本类型之后。这样可以
避免一些理解上的误区,比如:
int*   ......

教你理解复杂的C/C++声明

      曾经碰到过让你迷惑不解、类似于int * (* (*fp1) (int) )
[10];这样的变量声明吗?本文将由易到难,一步一步教会你如何理解这种复杂的C/C++声明:我们
将从每天都能碰到的较简单的声明入手,然后逐步加入const修饰
符和typedef,还有函数指针,最后介绍一个能够让你准确地理解任何C/C++声明的“右左法则”。需要强调一下的是,复杂的C/C++声明并不是好
的编程风格;我这里仅仅是教你如何去理解这些声明。注意:为了保证能够在同一行上显示代码和相关注释,本文最好在至少1024x768分辨率的显示器上阅
读。

基础
让我们从一个非常简单的例子开始,如下:
int n;
这个应该被理解为“declare n as an int”(n是一个int型的变量)。
接下去来看一下指针变量,如下:
int *p;
这个应该被理解为“declare p as an int *”(p是一个int
*型的变量),或者说p是一个指向一个int型变量的指针。我想在这里展开讨论一下:我觉得在声明一个指针(或引用)类型的变量时,最好将*
(或&)写在紧靠变量之前,而不是紧跟基本类型之后。这样可以
避免一些理解上的误区,比如:
int*   ......

C++/C试题

C++/C试题的答案与评分标准(来自于林锐的<<高质量C++编程指南>>),全文请到本博资源中下载.
一、请填写BOOL , float, 指针变量 与“零值”比较的 if 语句。(10分)
 
请写出 BOOL  flag 与“零值”比较的 if 语句。(3分)
标准答案:
    if ( flag )
    if ( !flag )
如下写法均属不良风格,不得分。
    if (flag == TRUE)  
    if (flag == 1 )    
    if (flag == FALSE)  
        if (flag == 0)     
请写出 float  x 与“零值”比较的 if 语句。(4分)
标准答案示例:
const float EPSINON = 0.00001;
if ((x >= - EPSINON) && (x <= EPSINON)
不可将浮点变量用“==”或“!=”与数字比较,应该设法转化成“>=”或“<=”此类形式。
  
 
如下是错误的写法,不得分。
    if (x == 0.0)  
 &nbs ......

C++/C试题

C++/C试题的答案与评分标准(来自于林锐的<<高质量C++编程指南>>),全文请到本博资源中下载.
一、请填写BOOL , float, 指针变量 与“零值”比较的 if 语句。(10分)
 
请写出 BOOL  flag 与“零值”比较的 if 语句。(3分)
标准答案:
    if ( flag )
    if ( !flag )
如下写法均属不良风格,不得分。
    if (flag == TRUE)  
    if (flag == 1 )    
    if (flag == FALSE)  
        if (flag == 0)     
请写出 float  x 与“零值”比较的 if 语句。(4分)
标准答案示例:
const float EPSINON = 0.00001;
if ((x >= - EPSINON) && (x <= EPSINON)
不可将浮点变量用“==”或“!=”与数字比较,应该设法转化成“>=”或“<=”此类形式。
  
 
如下是错误的写法,不得分。
    if (x == 0.0)  
 &nbs ......
总记录数:969; 总页数:162; 每页6 条; 首页 上一页 [62] [63] [64] [65] 66 [67] [68] [69] [70] [71]  下一页 尾页
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号