print __FILE__ and __LINE__ using the # stringizing operator

/ Published in: C++
Save to your folder(s)

Article explains why STRINGIFY and TOSTRING are both needed.

This technique is useful for embedded apps to print debug strings to a debug console. ASSERT or TRACE statements can incorporate these macros. The line numbers are converted to strings at compile-time rather than run-time.

Copy this code and paste it in your HTML
  1. #define STRINGIFY(x) #x
  2. #define TOSTRING(x) STRINGIFY(x)
  3. #define AT __FILE__ ":" TOSTRING(__LINE__)
  5. printf( AT " message"); // Expect output like: "snipplr.c:5 message"


Report this snippet


RSS Icon Subscribe to comments

You need to login to post a comment.