C/C++ line number
c, c++, c-preprocessor, dynamic-compilation, line-numbers
Solution
You should use the preprocessor macro `__LINE__` and `__FILE__`. They are predefined macros and part of the C/C++ standard. During preprocessing, they are replaced respectively by a constant string holding an integer representing the current line number and by the current file name.
Others preprocessor variables :
- `__func__` : function name (this is part of C99, not all C++ compilers support it)
- `__DATE__` : a string of form "Mmm dd yyyy"
- `__TIME__` : a string of form "hh:mm:ss"
Your code will be :
if(!Logical)
printf("Not logical value at line number %d in file %s\n", __LINE__, __FILE__);
Problem
In the sake of debugging purposes, can I get the line number in C/C++ compilers? (standard way or specific ways for certain compilers) e.g ``` if(!Logical) printf("Not logical value at line number %d \n",LineNumber); // How to get LineNumber without writing it by my hand?(dynamic compilation) ```