Я использую макрос и думаю, что он отлично работает -
#define CStrNullLastNL(str) {char* nl=strrchr(str,'\n'); if(nl){*nl=0;}}
Таким образом, он работает для обнуления последней новой строки в строке, на самом деле он используется, чтобы отрубить разрыв строки, когда он оставлен fgets.
Итак, мне интересно, смогу ли я "вернуть" значение из макроса, чтобы оно могло называться как
func( CStrNullLastNL( cstr ) ) ;
Или мне придется написать функцию