我必須逐一打開文件以便在C/C++中讀取。文件的名稱是in0,in1,in2,in3 ..... 我試圖使用預處理器指令來創建文件名。 我想要的東西。用於創建文件名的預處理器指令
for(int i=0;i<n;i++)
{
string inp_file="/path/"+"in"+APPEND(i); //to generate /path/in1 etc
open(inp_file);
}
其中APPEND是MACRO。 由於
#define APP(i) i
可以產生價值
#define APP(i) #i
可以令牌轉換爲字符串。
我試圖在很多方面將它們結合起來,但都失敗了。 如何獲得想要的結果或者甚至有可能用宏得到這樣的結果?
預處理器不能單獨用來實現任何運行時功能。單獨使用宏來獲得這樣的結果是不可能的。你所能做的只是將一些到字符串的轉換函數包裝到一個宏中,但這樣做沒什麼意義。 – AnT