Форум программистов, компьютерный форум CyberForum.ru

Как считать информацию из файла, если в конце стоит пробел? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Однонаправленный связанный список http://www.cyberforum.ru/cpp-beginners/thread17310.html
вот задание Однонаправленный связанный список Тип информационной части узла списка-char 1. Определение структуры информационной части узла, структуры узла списка выполните через спецификацию typedef в отдельном заголовочном файле (Например, Р21.h). 2. Определите все операции над структурой, определенные вашим вариантом, а также операцию создания списка из N узлов, вывод списка и...
C++ Сохранение всех входящих лексем(строк) в порядке поступления :help: Уже ни первый день бьюсь над ошибкой в подпрограмме транслятора? :wall: Цель подпрограммы: сохранение всех входящих лексем(строк) в порядке поступления. Описание: в динамическом массиве сохраняются только ранее неизвестные лексем. А порядок поступления обеспечивает массив указателей, ссылаясь на динамический массив. Реализация: struct entry { char importance; }; struct entry... http://www.cyberforum.ru/cpp-beginners/thread17291.html
C++ Комментарии к Системе счисления
Кто может напишите комментарии к проге,просто по отдельности нет смысла спрашивать потому что очень много что не понятна! Из 2-ой в 10-ую и обратно #include<iostream.h> #include<math.h> #include<conio.h> #include<stdlib.h> #include<stdio.h> #include<string.h> void main(void)
C++ Вывести на экран все слова, встречающиеся более 1 раза
Помогите пожалуйста, запуталась в циклах!!! (( Сама задача такова:Дана строка в ней не более 30 слов, в каждом слове не более 8 букв. Слова отделены запятыми, за последним - точка. Вывести на экран все слова, встречающиеся более 1 раза. Последовательность я ввела в двумерный массив. В конце каждого слова как и полагается - нуль-символ. Может быть существует какая-нибудь хитрость сравнения...
C++ Работа с файлами. Редактирование файла http://www.cyberforum.ru/cpp-beginners/thread17267.html
Задачка такая... переписать содержимое файла А в файл Б, удалив однобуквенные слова и пробелы.. #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <conio.h> #include <locale> int main() { setlocale (LC_ALL, ".1251"); FILE *f; f = fopen( "read.txt", "r");
C++ Дан текстовый файл F. Найти, сколько раз встречается в нем слово S Просто без выходная ситуация надо решить задачи... Просто умоляю кто нибудь ПАМАГИТЕ!!!!!!!!!!!!:help::help::help: 1)Дан файл F, содержащий сведения о кубиках: размер (длина его ребра), его цвет и материал. Найти количество кубиков данного цвета и их суммарный объем. 2)Дан текстовый файл F. Найти , сколько раз встречается в нем слово S. 3)Дана строка символов. Группы символов, разделенные... подробнее

Показать сообщение отдельно
=TrappeR=
3 / 3 / 1
Регистрация: 02.12.2008
Сообщений: 11
03.12.2008, 16:06     Как считать информацию из файла, если в конце стоит пробел?
Для этого лучше использовать цикл do while, в котором считываем посимвольно из потока в буфер и формируем число. Посмотри код, там все довольно понятно. Если что не ясно, спрашивай.
Код
#include <stdio.h>
#include <conio.h>
#include <ctype.h>
int main( )
{
    FILE *fin;
    if ((fin = fopen("file.txt", "a+")) == NULL) {
        perror("file.txt");
        getch( );
        return 1;
    }

    int mas[100], i, digit;
    char buf;
    i = digit = 0;
    do {
        buf = fgetc(fin);
        if (isdigit(buf)) {
            /* формирование чисел */
            if (digit != 0)
                digit *= 10;
            digit += (int(buf) - int('0'));
        } else {  /* любой символ кроме числа */
            /* сохранение числа и вывод на экран */
            if (digit != 0) {
                mas[i++] = digit;
                printf("%d ", digit);
                digit = 0;
            }
        }
    } while (buf != EOF);

    fclose(fin);
    getch( );
    return 0;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru