0 / 0 / 2
Регистрация: 26.11.2013
Сообщений: 28
1

При выводе пропускает пустые строки

10.06.2014, 20:07. Показов 1659. Ответов 12
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
{
    FILE *f1;
    char c[50], txt[10][200];
    int n=0;
    cout<<"Vvedite imia fila ";
    gets(c);
 
    f1=fopen(c,"r");
    fscanf (f1, "%d", &n);
 
 
    for (int i =0; i < n; i++)
    {
        fscanf(f1, "%s\n",txt[i]);
        cout << "\n" << i+1 << ") stroka: \n";
        printf ("%s\n", txt[i]);
    }
    getch();
}
Код вывода, при выводе пропускает пустые строки, как исправить?
Пример на скриншотах:
в Notepad++ 3 и 4 строка пустые, что правильно, они должны отобразиться пустыми под номерами 2 и 3, но консоль не отображает их.
Миниатюры
При выводе пропускает пустые строки   При выводе пропускает пустые строки  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.06.2014, 20:07
Ответы с готовыми решениями:

Копирование строки. При вводе пробела программа пропускает последующий ввод данных
char st, st1; int k, m, i, j; system(&quot;cls&quot;); cout &lt;&lt;&quot;Введите строку&quot;&lt;&lt;endl; cin &gt;&gt;st; ...

При выводе данных из БД в ListBox появляются пустые строки
У меня такая проблема: при выводе данных из бд в listbox появляются пустые строки cmd.Connection...

Как при выводе данных из бд не выводить пустые значения из столбца?
Вывожу все данные из столбца, но выводятся и пустые строки &lt;?php $dbcon =...

При выводе строки на экран появляется не нужный перенос строки
Дорогие знатоки, проблема следующая: при выводе строки на экран появляется символ переноса строки...

12
12 / 1 / 1
Регистрация: 09.06.2014
Сообщений: 35
10.06.2014, 20:16 2
в цикл фор вставь проверку на пустую строку точно не понял как но примерно так.

if(txt[i]) printf ("%s\n", '\n');
0
2832 / 1641 / 254
Регистрация: 03.12.2007
Сообщений: 4,222
10.06.2014, 20:24 3
Так работает fscanf. Если нужно читать целиком все строки, используй fgets.
1
5494 / 4889 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
10.06.2014, 20:28 4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
    FILE *f1;
    char c[50], txt[10][200];
    int n=0;
    cout<<"Vvedite imia fila ";
    gets(c);
 
    f1=fopen(c,"r");
    fscanf (f1, "%d\n", &n);
 
    for (int i = 0; i < n; i++)
    {
        fgets(txt[i], 200, f1);
        cout << "\n" << i + 1 << ") stroka: \n";
        printf ("%s\n", txt[i]);
    }
    getch();
0
0 / 0 / 2
Регистрация: 26.11.2013
Сообщений: 28
10.06.2014, 20:35  [ТС] 5
Somebody, alsav22, спасибо

Добавлено через 3 минуты
alsav22, только он теперь также считывает первую строку, то есть цифру 5, как пустую, а не должен брать в вид вообще.
0
5494 / 4889 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
10.06.2014, 20:57 6
Цитата Сообщение от Yarikson86 Посмотреть сообщение
только он теперь также считывает первую строку, то есть цифру 5, как пустую, а не должен брать в вид вообще.
Цифру 5 код должен прочитать (в n) как число 5 (что код и делает). Это количество строк, которое будет дальше считано в цикле. Что значит: " не должен брать в вид вообще."?
0
0 / 0 / 2
Регистрация: 26.11.2013
Сообщений: 28
10.06.2014, 21:25  [ТС] 7
alsav22, уже сделал все, просто он на вывод его подавать не должен.
0
5494 / 4889 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
10.06.2014, 21:31 8
Цитата Сообщение от Yarikson86 Посмотреть сообщение
просто он на вывод его подавать не должен
А где там вывод n?

Добавлено через 1 минуту

Не по теме:

Л/с получили?

1
0 / 0 / 2
Регистрация: 26.11.2013
Сообщений: 28
10.06.2014, 21:34  [ТС] 9
alsav22, мне вывод n не нужен, он только для того, чтобы работал цикл
0
5494 / 4889 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
10.06.2014, 21:41 10
Цитата Сообщение от Yarikson86 Посмотреть сообщение
мне вывод n не нужен, он только для того, чтобы работал цикл
Где, в выложенном коде, вывод n? Вот это о чём написано?
Цитата Сообщение от Yarikson86 Посмотреть сообщение
просто он на вывод его подавать не должен.
Где-то, в выложенном коде, n подаётся на вывод?
0
0 / 0 / 2
Регистрация: 26.11.2013
Сообщений: 28
10.06.2014, 21:42  [ТС] 11
alsav22, его там нет, и не должно быть, при считывании он считывал эту цифру как пустую строку.
0
5494 / 4889 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
10.06.2014, 21:55 12
Цитата Сообщение от Yarikson86 Посмотреть сообщение
при считывании он считывал эту цифру как пустую строку.
С чего это вдруг? Где здесь чтение пустой строки?
C++
1
fscanf (f1, "%d\n", &n);
Добавлено через 5 минут
Мой код в 4-м посте смотрите, а не свой. Часть своего кода, наверное, берёте, а часть моего, а потом проблемы...
0
0 / 0 / 2
Регистрация: 26.11.2013
Сообщений: 28
10.06.2014, 21:58  [ТС] 13
alsav22, возможно, но все равно, спасибо
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.06.2014, 21:58
Помогаю со студенческими работами здесь

Пустые строки при записи в файл
Имеется файл 1212.txt. в нем несколько строк... например: 1|2|3|4|5 q|w|e|r|t a|s|d|f|g ...

Пустые строки в списке при чтении из базы
Здравствуйте. Следующая проблема..Вывожу данные из базы в выпадающий список &lt;select&gt;..Так вот все...

При обходе дерева выводятся пустые строки
Вот код. Когда делает обход выводит пустоту. Что я делаю не так? #include &lt;stdio.h&gt; #include...

Пустые строки при выборке LEFT JOIN
Делаю сложный запрос с выборкой итогов в вычисляемое поле и с применением LEFT JOIN. Всё работает,...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru