LINUX.ORG.RU

Игнорирование перевода каретки

 ,


0

1

Некоторая функция передаёт в форматированный вывод \n, что ломает разметку. Есть ли способ заставить писать всё в одной строке без учёта перевода строки?

Конкректно речь идёт о функции отображения времени:

const time_t timer = time(NULL);
printf("%s",ctime(&timer)); 

★★★★★

Последнее исправление: cetjs2 (всего исправлений: 1)

char *lol = ctime (&timer);

lol[24] = '\0';

Не благодари

vonenij
()
int write_ignore_lf(char *s, FILE *out) {
    for(; *s; s++)
        if(*s != '\n')
            if(fputc(*s, out) == EOF)
                return 0;
    return 1;
}

//не мастер сишки

anonymous
()
include <stdio.h>
#include <string.h>
#include <time.h>
void printf_(const char* ptr) {
  size_t n = strlen(ptr);
  fwrite(ptr, n-1, 1, stdout);
}
int main() {
  const time_t timer = time(NULL);
  printf("%s",ctime(&timer));
  printf_(ctime(&timer));
  return 0;
}
anonymous
()
Ответ на: комментарий от ziemin

Спасибо, совет годный, почему-то на глаза не попалась функция раньше.

Bfgeshka ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.