C puts() без новой строки - программирование
Подтвердить что ты не робот

C puts() без новой строки

В настоящее время у меня есть эта программа, которая печатает текстовый файл на консоли, но каждая строка имеет дополнительную новую строку под ней. если текст был

привет мир

он выводит привет

мир

код - это

#include <iostream>
#include <stdio.h>
#include <string.h>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
    FILE* fp;
    char input[80], ch = 'a';
    char key[] = "exit\n";
    int q;

    fp = fopen("c:\\users\\kostas\\desktop\\original.txt", "r+");

    while (!feof(fp)) {
        fgets(input, 80, fp);
        puts(input);
    }
    fclose(fp);

    return 0;
}
4b9b3361

Ответ 1

puts() добавляет символ новой строки по спецификации библиотеки. Вместо этого вы можете использовать printf, где вы можете управлять тем, что печатается со строкой формата:

printf("%s", input);

Ответ 2

Обычно используется функция fputs() вместо puts(), чтобы опустить новую строку. В вашем коде

puts(input);

станет:

fputs(input, stdout);