在vs2010中,输出当前文件路径与源文件当前行号的解决方法_C 语言

看到一道题目:vs2010中,如何输出当前文件路径和源文件当前行号。
不知道,于是立刻上网搜,于是找到了答案:
总结一下,有用的时候就直接拿来用了,据说它们是系统预定义宏,但这种宏并不是在某个文件中定义的,而是由编译器定义的。

复制代码 代码如下:

 cout << __LINE__ << endl;  //输出语句所在的行号
 cout << __FILE__  << endl; //输出文件名(包括路径)
 cout << __TIME__ << endl;  //输出当前时间
 cout << __TIMESTAMP__ << endl; //输出时间戳
 cout << __DATE__  << endl;   //输出日期

上面的几种宏都能在vc6.0和vs2010中运行,输出如下:

复制代码 代码如下:

57
d:\documents and settings\yx\my documents\visual studio 2010\projects\matrix\mat
rix\matrix.cpp
16:51:33
Mon Mar 12 16:51:32 2012

还有一个输出输出函数名的宏__FUNCTION__,在vs2010中运行有效,但在vc6.0中没有定义,如在主函数中调用,输出vmain。

时间: 2024-12-06 08:49:02

在vs2010中,输出当前文件路径与源文件当前行号的解决方法_C 语言的相关文章

Visual C++程序设计中Windows GDI贴图闪烁的解决方法_C 语言

本文实例讲述了Visual C++程序设计中Windows GDI贴图闪烁的解决方法.分享给大家供大家参考.具体如下: 一般的windows 复杂的界面需要使用多层窗口而且要用贴图来美化,所以不可避免在窗口移动或者改变大小的时候出现闪烁. 先来谈谈闪烁产生的原因 原因一: 如果熟悉显卡原理的话,调用GDI函数向屏幕输出的时候并不是立刻就显示在屏幕 上只是写到了显存里,而显卡每隔一段时间把显存的内容输出到屏幕上,这就是刷新周期. 一般显卡的刷新周期是 1/80秒左右,具体数字可以自己设置的. 这样

去掉vs2010中ipch文件和.sdf文件的解决方法_C 语言

在使用Visual Studio 2010开发C++程序的时候,会发现有一些奇怪的文件被创建出来,比如一个叫ipch的文件夹,和一个与工程同名的.sdf文件,而且ipch下面的文件和.sdf文件都很大,至少有10M,大项目可能超过100M,那这些文件是干什么用的呢?这些文件是Visual Studio用来保存预编译的头文件和Intellisense用的,删除这些文件对于工程的开发完全没有影响.那如果我既想使用预编译的头文件和Intellisense,又不想看到这些无聊的文件该怎么办呢? 在Vis

电脑中打开CDR文件出现I/O读错误提示的解决方法

  1.打开CDR文件会提示I/O错误,这时CDR会显示打开一个空白的未命名文件; 2.如果通过菜单栏打开文件,则会弹出I/O读错误提示; 3.这时在文件所在的同一个文件夹内找到一个名字很长的TMP文件,直接将其拖动到CDR中; 4.这样即可打开该文件; 5.打开后可以和backup的自动存档文件比较,发现这个TMP更接近之前保存的文档情况,然后在菜单栏中点击另存为,将其保存; 6.如果没有找到TMP文件,只能在自动存档文件中找回,一般文件所在的同个文件夹内会有backup_ of--的文件,找

VC6.0打开文件以及向工程中添加文件时程序崩溃自动退出解决方法_C 语言

换了一台电脑,vc6.0程序中,点击打开文件以及向工程中添加文件时,程序竟然崩溃自动退出了. 不知什么原因,安装相同的vc程序,本本竟然出现此缘故.但是这个操作又是自己经常用到的,所以不得不解决. 与上一台电脑不同的是,此电脑是win7系统,而上一个则是xp系统.此电脑office是2010版本,而上一个则是WPS:于是乎,在网上查资料,来解决. 看到网上也有类似的问题,有的说是win7系统原因,有的说是office2007版本缘故,有的说是viso缘故.总之,这几种说法,我都符合.win7系统

ubuntu中打开终端的三种解决方法_C 语言

这个不应该称得上是一个问题,但是,发现对于新手,确实是个难题因为少有人能够提到这一点,基本都是上来就直接讲用到的命令.我开始的时候也曾经被这个问题困扰着,后来,搜了一会儿才弄明白.1.在菜单内的附件上面有2.在运行命令的输入框打开3-..--------------------------------------------------------------------------------1.很好弄,在左上角的菜单上点一下,出来一列,在里面选择[附件] 中的[终端],点一下就OK.那是快捷

fatal error LNK1104: 无法打开文件“libc.lib”的解决方法_C 语言

今天,编译程序的时候,意外遇到了一个错误,就是VS2008一直提示:fatal error LNK1104: 无法打开文件"libc.lib",后来在网上查找了很多资料,终于知道原因了...如果将用低版本的VC开发的项目,拿到高版本的VC开发环境上去编译,链接时也许会触发LNK1104错误.解决方案是链接时忽略此库,在此提供两种解决方案:Project | Properties | Configuration Properties | Linker | Input Ignore Spe

求数组中最长递增子序列的解决方法_C 语言

存储扩展算法n2编程c 写一个时间复杂度尽可能低的程序,求一个一维数组(N个元素)中的最长递增子序列的长度.例如:在序列1,-1,2,-3,4,-5,6,-7中,其最长的递增子序列为1,2,4,6 或者 -1,2,4,6.(编程之美P198-202)分析与解法根据题目的要求,求一维数组中的最长递增子序列,也就是找一个标号的序列b[0],b[1],-,b[m](0 <= b[0] < b[1] < - < b[m] < N),使得array[b[0]]<array[b[1

Eclipse对printf()不能输出到控制台的快速解决方法_C 语言

Eclipse的控制台经常对C语言的printf不能正常输出,究其原因,就是因为输出内容停留在了输出缓冲区里,而没有及时输出到控制台界面,解决的方法很简单:在每个printf后加上fflush(stdout)即可,或者,像我一样,把printf用一个宏封装一下: 复制代码 代码如下: #define OUTPUT_STR(str) do{printf(str);fflush(stdout);}while(0)

C/C++中退出线程的四种解决方法_C 语言

退出线程可以有四种方法: 1.线程函数的return返回(最好这样):其中用线程函数的return返回, 而终止线程是最安全的, 在线程函数return返回后, 会清理函数内申请的类对象, 即调用这些对象的析构函数. 然后会自动调用 _endthreadex()函数来清理 _beginthreadex(...)函数申请的资源(主要是创建的tiddata对象). 2.调用 _endthreadex()函数 或 ExitThread()函数(最好不要):如果使用这两种方法退出线程, 则不会执行线程函