第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

C++ __FILE__

C++ __FILE__

C++
牧羊人nacy 2018-07-29 21:21:03
#include <iostream>using namespace std;#line 200 "I THANK YOU"//這是改變本文件的名字嗎?書(shū)上是這樣說(shuō)的,但是我編譯后,運(yùn)行結(jié)果輸出的當(dāng)前文件名字是變了,但是文件本身的名字卻沒(méi)有變,也就在電腦看到的文件名字沒(méi)有變。int main(){cout << __LINE__ << endl;cout << __FILE__ << endl;system("pause");return 0;}#line 200 "I THANK YOU"//這是改變本文件的名字嗎?書(shū)上是這樣說(shuō)的,但是我編譯后,運(yùn)行結(jié)果輸出的當(dāng)前文件名字是變了,但是文件本身的名字卻沒(méi)有變,也就在電腦看到的文件名字沒(méi)有變。請(qǐng)問(wèn)這確切的具體解釋是什么?
查看完整描述

1 回答

?
尚方寶劍之說(shuō)

TA貢獻(xiàn)1788條經(jīng)驗(yàn) 獲得超4個(gè)贊

首先你要知道__FILE__和__LINE__這兩個(gè)宏.
是編譯器加上去的,默認(rèn)的__FILE__是const char*類(lèi)型,即常量字符串,記錄了源文件的名稱(chēng).
__LINE__是源文件中,引用了這個(gè)宏的行,它的行號(hào).
你可以試試:
cout << __LINE__ << endl;
cout << __LINE__ << endl;
兩個(gè)行,連續(xù)輸出兩個(gè)__LINE__,那么第二個(gè)輸出的值是第一個(gè)的值+1..

#line 200 "I THANK YOU"告訴編譯器預(yù)處理時(shí)將文件名定為"I THANK YOU",
并將#line 200 "I THANK YOU"這一行定為第200行,后面的行就從201開(kāi)始.

所以#line 200 "I THANK YOU"只是改了編譯器的兩個(gè)常量,并不是真正的修改文件名.

這兩個(gè)宏主要用于調(diào)試,出錯(cuò)的時(shí)候可以找到是哪個(gè)文件,哪一行.
比如
char buffer[256];
sprintf(buffer,"%s(%d):debug test only ...",__FILE__,__LINE__);
OutputDebugString(buffer);
運(yùn)行完之后你看VC的output窗口里是不是有這個(gè)輸出的消息,雙擊它....

查看完整回答
反對(duì) 回復(fù) 2018-08-01
  • 1 回答
  • 0 關(guān)注
  • 1116 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)