我是靠谱客的博主 风中大碗,最近开发中收集的这篇文章主要介绍C/C++中取得当前文件名与行数,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

C/C++中取得当前文件名与行数
2007-10-16 13:40

Key Words:__FILE__ ,__LINE__ , File Name , Line Number


在C/C++中可以直接使用__FILE__ 和__LINE__取得当前的文件路径与代码的当前行数
参考如下:

/*===========================================*/

#include <iostream>
#include <string.h>

using namespace std;

const char * GetFileName( const char* path,const char* sep)
{
    const char * temp,* cRet;
    int cnt = 0;
    temp = path;
    cRet = NULL;

    cnt = strlen(path);

    if( NULL == temp)
    {
       cout<<"The File Path is NULL."<<endl;
       return cRet;
    }
    if( NULL == sep )
    {
       cout<<"The Separate is NULL."<<endl;
       return cRet;
    }

    for(int i = 0;i<cnt;i++,temp++)
    {
      if( *temp == *sep )
        {
          cRet = temp + 1;
        }
    }

    return cRet;
}

void PrintLineNum( long line )
{
     cout<<"The Line Num is:"<<line<<endl;
}

int main()
{
    char temp;
    const char * pFile = NULL;

    cout<<"The file path is: "__FILE__<<endl;

    pFile = GetFileName( __FILE__ ,"//" );

    cout<<"The File Name Is :"<<pFile<<endl;
    // cout<<"The File Name Is :"<<*pFile<<endl;
    // attention please "pFile" cannot be "*pFile"
    // or else the result to be output will be the first character of the file name

    PrintLineNum( __LINE__ );

    // just to have a pause
    cout<<"Enter any thing to exit!"<<endl;
    cin>>temp;
    return 0;
}

/*===========================================*/

该程序的执行结果如下:

The file path is: C:/Documents and Settings/wood/デスクトップ/test/test.cpp
The File Name Is :test.cpp
The Line Num is:56
Enter any thing to exit!

最后

以上就是风中大碗为你收集整理的C/C++中取得当前文件名与行数的全部内容,希望文章能够帮你解决C/C++中取得当前文件名与行数所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(40)

评论列表共有 0 条评论

立即
投稿
返回
顶部