С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 22, средняя оценка - 4.64
Nadin_
0 / 0 / 0
Регистрация: 12.01.2011
Сообщений: 13
#1

Выровнять текст по левому краю - C++

21.01.2011, 10:01. Просмотров 3517. Ответов 6
Метки нет (Все метки)

Доброго времени суток.Помогите пожалуйста осталась одна задача,а я понятия не имею как её делать.
Нужно написать обработчик текстовых файлов,чтоб создавала текстовый файл,в котором текст выравнивался по левому краю(без переносов) с сохранением абзацев.
Пожалуйста можно без файлов(с консоли) даже сделать.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.01.2011, 10:01
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Выровнять текст по левому краю (C++):

Дан файл с абзацем, выровненым по левому краю, надо отформатировать по правому краю - C++
есть задание дан файл с абзацем выровненым по левому краю , надо отформатировать по правому краю!!

Открыть файл, выровнять текст по правому краю и слева добавить номер строки - C++
Создать текстовый файл и сохранить в нём текст 10..20 строк. По нескольку слов в строке. составить программу: Открывается файл,...

Выровнять текст по правому краю так, чтобы каждая строка заканчивалась знаком препинания или одним пробелом - C++
Всем привет, помогите кто-нибудь составить программу. (C-free) Задание: Текст, сформированный построчно, выровнять правому краю...

Добавить в конец каждой строки необходимо количество «*» что бы выровнять текст по правому краю большей строки - C++
Дано некоторое количество строк, не больше как размер текстового окна. Добавить в конец каждой строки необходимо количество «*» что бы...

Выравнивание строки по левому краю до заданной длины - C++
Разработать функцию, которая выполняет ту обработку фрагмента текста, которая определена в Вашем индивидуальном задании. При реализации...

Отформатировать текст по правому краю - C++
Помогите с программой, не понимаю как это сделать: Разработать программу, которая разбивает заданный текст на две колонки и...

6
Nadin_
0 / 0 / 0
Регистрация: 12.01.2011
Сообщений: 13
22.01.2011, 12:47  [ТС] #2
Плиз.Может у кого то была такая задача или хотя бы подскажите алгоритм.
0
lemegeton
2925 / 1354 / 135
Регистрация: 29.11.2010
Сообщений: 2,725
22.01.2011, 13:01 #3
Абзац определяется переносом строки?
0
Nadin_
0 / 0 / 0
Регистрация: 12.01.2011
Сообщений: 13
22.01.2011, 13:23  [ТС] #4
Наверное.
0
lemegeton
2925 / 1354 / 135
Регистрация: 29.11.2010
Сообщений: 2,725
22.01.2011, 13:45 #5
Не самая лучшая имплементация, зато сегодня. Перевод строки -- разделитель абзацев.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include <cstring>
#include <cstdio>
 
int main(int argc, char *argv[]) {
  int buffer_size = 65535; // размер буфера для чтения
  int align_size = 80; // размер, по которому будет выравниваться текст
  const char *file_name = "text.txt"; // файл, из которого будет читаться текст
  char *buffer = new char[buffer_size];
 
  FILE *in_file = fopen(file_name, "r");
  if (in_file == NULL)
    printf("Error opening %s.\n", file_name);
  else
    while (!feof(in_file))
      if (fgets(buffer, buffer_size, in_file)) {
        char *start = buffer;
        char *end = buffer + strlen(buffer);
        char *this_end = NULL;
        do {
          this_end = start + align_size;
          if (this_end < end) {
            while (*this_end != ' ' && this_end != start) --this_end;
            if (*this_end == ' ') *this_end = '\n';
            start = this_end + 1;
          } else {
             this_end = end;
          }
        } while (this_end != end);
        printf("%s", buffer);
      }
  fclose(in_file);
 
  delete [] buffer;
  return 0;
}
1
Nadin_
0 / 0 / 0
Регистрация: 12.01.2011
Сообщений: 13
22.01.2011, 14:03  [ТС] #6
А куда результат заносится?или где отображается?
0
lemegeton
2925 / 1354 / 135
Регистрация: 29.11.2010
Сообщений: 2,725
22.01.2011, 17:32 #7
Результат выводится в стандартный вывод, чаще всего это консоль, в которой запускается программа.
0
22.01.2011, 17:32
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.01.2011, 17:32
Привет! Вот еще темы с ответами:

Выровнять текст - C++
Как правильно выровнять ? Я использовал &quot; \t &quot;,но если имя больше то сдвигается.

Нужно выровнять текст - C++
Нужно выровнять текст сейчас нужно ноутбук:США ноутбук:США Молдова Молдова как так...

Выровнять текст по вертикали в окне ввода - C++
Как сделать чтобы текст в окне ввода был по центру? Ничего в гугле не нашел по этому поводу... Шрифт вполне уместился бы в окне,...

Разработать программу, которая разбивает заданный текст на две колонки и форматирует их по правому краю (без переноса). - C++
Разработать программу, которая разбивает заданный текст на две колонки и форматирует их по правому краю (без переноса). Ширина колонки...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.