Click here to Skip to main content
15,881,852 members

Comments by Aghast (nj) (Top 2 by date)

Aghast (nj) 1-May-21 16:57pm View    
I think you may be making this more complex than it needs to be. The preprocessor's __LINE__ symbol is treated as an object-like macro. So you can stringify it in the preprocessor:

#define STR(x) #x
#define LINE_STR STR(__LINE__) // Note: there must be 2 macros.

On the other hand, __func__ and __FUNCTION__ and friends were once treated as object-like macros defined to literals, but now are treated as variables. I don't know why. So you can't just stringify it, or juxtapose it like you could with __FILE__. :(

QString does have a QString::fromUtf8() and a ::fromLocal8bit() class method. If your file names are in ascii, the utf-8 will work (since ascii is a subset of utf-8). If your file names are in a different encoding, you might need to write some more complex code.

Finally, note that the QString class defines functions called "from xxx" for creating a QString from external data, and defines methods called "to xxx" for extracting data from an already-existing QString. Doing what you are doing, you should look for either a QString() constructor or a QString::from... function to convert.
Aghast (nj) 1-May-21 16:40pm View    
;"!dlrow ,olleH" >> touc