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