Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
1570 / 1168 / 426
Регистрация: 08.05.2012
Сообщений: 5,219

Ошибка в выводе файла С++

07.12.2013, 14:45. Показов 1007. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день, подскажите пожалуйста в чем загвоздка:
Файл:
R0_11 0 11 1
.PRINT TRAN I(R0_11)
R11_12 11 12 1
.PRINT TRAN I(R11_12)
R1_12 1 12 1
Часть кода
C
1
2
3
4
5
    while ( EOF != (c=getc(f)) )                 
        {
            fgets(s1,40,f);
            puts(s1);
              }
Вывод:
0_11 0 11 1

PRINT TRAN I(R0_11)

R11_12 11 12 1

PRINT TRAN I(R11_12)

1_12 1 12 1
(без первых символов строки).
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
07.12.2013, 14:45
Ответы с готовыми решениями:

ошибка в выводе инфы из файла
Почему выводит две строчки (одну не существующую) ЗЫ Чет с поиском не врубаюсь...как сделать так что если (по условию) два абонента, то...

Ошибка при вводе - выводе из файла
Почему пишет не найдет файл (в проге ассигн,ресет, реврайт стоит на него) создаю его вручную - ошибка пропадает но он ничего в ней не пишет...

Ошибка при выводе файла на озвучку
Здравствуйте товарищи, есть проблема. Пытаюсь вывести файл на озвучку, в проге присутстует повышение частоты дискритизации и получение...

11
Mobile Software Engineer
Эксперт С++
 Аватар для Ev[G]eN
5381 / 1585 / 956
Регистрация: 23.01.2011
Сообщений: 3,214
07.12.2013, 15:04
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <fstream>
#include <string>
 
int main()
{
    std::fstream file("file.txt");
    std::string currentFileString;
    std::cout << "File content: " << std::endl;
    while (std::getline(file, currentFileString))
        std::cout << currentFileString << std::endl;
    file.close();
 
    std::system("pause >> temporaryFile");
    return 0;
}
0
5499 / 4894 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
07.12.2013, 15:09
Цитата Сообщение от ExFau$t Посмотреть сообщение
(без первых символов строки).
Вы же здесь их извлекаете:
C++
1
c=getc(f)
0
1570 / 1168 / 426
Регистрация: 08.05.2012
Сообщений: 5,219
07.12.2013, 15:18  [ТС]
Цитата Сообщение от alsav22 Посмотреть сообщение
Вы же здесь их извлекаете:
C++
1
c=getc(f)
В таком случае как переместить указатель в потоке на одну позицию назад?
0
5499 / 4894 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
07.12.2013, 15:41
Это не нужно. Сделайте проверку конца файла по другому:
C++
1
while (!feof(f))
Добавлено через 11 минут
А ещё лучше, вот так:
C++
1
2
while (fgets(s1,40,f))                 
        puts(s1);
0
1130 / 789 / 232
Регистрация: 12.04.2010
Сообщений: 2,012
07.12.2013, 16:06
Цитата Сообщение от ExFau$t Посмотреть сообщение
В таком случае как переместить указатель в потоке на одну позицию назад?
tellg() - получить текущую позицию
seekg() - установить позицию
0
1570 / 1168 / 426
Регистрация: 08.05.2012
Сообщений: 5,219
07.12.2013, 16:50  [ТС]
Цитата Сообщение от alsav22 Посмотреть сообщение
Это не нужно. Сделайте проверку конца файла по другому:
C++
1
while (!feof(f))
Добавлено через 11 минут
А ещё лучше, вот так:
C++
1
2
while (fgets(s1,40,f))                 
        puts(s1);
В этом случае вывод будет довольно грубый, с множеством лишних символов, придется задавать дополнительные условия.
0
5499 / 4894 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
07.12.2013, 16:56
Цитата Сообщение от ExFau$t Посмотреть сообщение
В этом случае вывод будет довольно грубый, с множеством лишних символов, придется задавать дополнительные условия.
Что за "множество лишних символов"? Вам строки прочитать и вывести нужно? И именно, через функции С?
0
1570 / 1168 / 426
Регистрация: 08.05.2012
Сообщений: 5,219
07.12.2013, 17:09  [ТС]
Цитата Сообщение от alsav22 Посмотреть сообщение
Что за "множество лишних символов"? Вам строки прочитать и вывести нужно? И именно, через функции С?
Вывожу я для проверки. Со строками мне, разумеется, нужно работать. А множество лишних символов - это символы, которые мне не нужны, но они считываются в строку. А вопрос стоял лишь в нахождении ошибки в примере в шапке, однако если подстроиться к ней нельзя классическими методами, придется грубо "отсекать" строки, выяснять их длину на каждом шаге в файле, а также ввести несколько условных переходов.
0
5499 / 4894 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
07.12.2013, 17:15
Цитата Сообщение от ExFau$t Посмотреть сообщение
А вопрос стоял лишь в нахождении ошибки в примере в шапке, однако если подстроиться к ней нельзя классическими методами
Пример, по-моему, неудачный. Из него совсем непонятно, что не нужно читать строки. Вопрос стоял так: что нужно изменить в коде, чтобы строка полностью считалась (с первым символом). Теперь оказалось, что задача совсем в другом. В чём - так и не понял.
0
1570 / 1168 / 426
Регистрация: 08.05.2012
Сообщений: 5,219
07.12.2013, 17:37  [ТС]
Цитата Сообщение от alsav22 Посмотреть сообщение
Пример, по-моему, неудачный. Из него совсем непонятно, что не нужно читать строки. Вопрос стоял так: что нужно изменить в коде, чтобы строка полностью считалась (с первым символом). Теперь оказалось, что задача совсем в другом. В чём - так и не понял.
Все правильно, что сделать, чтоб считалась строка полностью, но не меняя совершенно содержимого строки( кроме 1 символа). Вывод здесь только для проверки. Нужно модифицировать цикл, чтоб читались 1 символы. Метод, предложенный Вами, как я упомянул ранее, не подходит, так как строка с 1 символом получает до конца своей длины какие-то другие символы, и понадобится еще несколько циклов для устранения проблемы.
0
5499 / 4894 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
07.12.2013, 18:06
Думаете, из этого объяснения можно что-то понять?
Цитата Сообщение от ExFau$t Посмотреть сообщение
чтоб считалась строка полностью, но не меняя совершенно содержимого строки( кроме 1 символа)
Что строку, при чтении из файла, меняет? fgets()? Каким образом?
Цитата Сообщение от ExFau$t Посмотреть сообщение
Нужно модифицировать цикл, чтоб читались 1 символы.
Это как перевести? "... чтобы читались первые символы."? "
Вот это в файле:
R0_11 0 11 1
.PRINT TRAN I(R0_11)
R11_12 11 12 1
.PRINT TRAN I(R11_12)
R1_12 1 12 1
Что должно быть на выходе?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
07.12.2013, 18:06
Помогаю со студенческими работами здесь

Ошибка при выводе файла записи
Задача состоит в том, что надо создать файл записи (музыка: исполнитель, название, год, жанр), затем упорядочить внесенные данные по...

Ошибка при выводе строк из файла
Помогите пожалуйста разобраться в чем ошибка. Весь код писать не буду просто покажу как я вношу данные в файл и считываю. int j=i; ...

Ошибка при выводе бинарного файла
Добрый день! Ошибка вот в чем: при сортировке массива, в одну ячейку StringGrid вставляет две переменные. И из-за этого наверно теряется...

Ошибка при выводе содержимого бинарного файла
#include &quot;stdafx.h&quot; #include &quot;windows.h&quot; #include &lt;iostream&gt; #include &lt;fstream&gt; using namespace std; struct book { long...

[Mono] Ошибка при выводе содержимого текстового файла
Здравствуйте,имеется программа на c# с помощью mono компилирую : mcs -recurse:'*.cs' В программе при нажатии на кнопку...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка. Рецензия / Мнение Это мой обзор планшета X220 с точки зрения школьника. Недавно я решила попытаться уменьшить свой. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru