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

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

Войти
Регистрация
Восстановить пароль
 
Eugen-S
8 / 8 / 0
Регистрация: 06.11.2011
Сообщений: 122
#1

Считывание Ентера из файла - C++

21.10.2012, 00:33. Просмотров 486. Ответов 11
Метки нет (Все метки)

Доброй ночи, друзья.
Пишу код, считываю из файла слова.. вот, файл имеет допустим такой набор:

10 22 33 41
522 633 74

оно считало 10,22,33,41, а 522 633 77 не хочет, понимаю что там '\n' как бы стоит, но.. уже пробовал много вариантов считывания его, не хочет и всё..

Код:

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
    while(buf != EOF)
        {
            buf = getc(fin);
            //cout<<buf<<endl;
            if(buf == EOF)
            {
                break;
            };
 
            if(buf ==' ' || buf == '\n' )
            {
                wBuf[i] = '\0';
                cout<<"wBuf:"<<wBuf<<endl;
                wBuf[0] = '\0' ;
                i=0;
 
                while(buf!=' ')
                    buf = getc(fin);
            };
 
            wBuf[i] = buf;
            i++;
            
 
        };
wBuf - массив чаров
buf - чаровая переменная

буду благодарен за помощь! ну или скажите что глянуть. ПРобовал добавлять там где " " условие "\n" но, не то( считывание идет посимвольно, перегоняется в массив чаров, чтоб получалось целое "слово" на выходе, потом оно будет отправляться дальше по коду..

суть как бы в чем, считать все слова из файла, без пробелов)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.10.2012, 00:33     Считывание Ентера из файла
Посмотрите здесь:

Считывание с файла - C++
Помогите организовать считывание с файла для следующего задания: Нужно создать программу которая считывает с файла параметры...

Считывание с файла - C++
Задание 1: Считать с файла и найти количество слов из 4 и менее букв. (test.txt по умолчанию в папке с программой) Вопрос: Почему он...

считывание с файла - C++
помогите, пожалуйста, нужно считать с файла ряд целых чисел и переписать его куда-то чтобы потом можно было сделать с ним операции

Считывание из файла - C++
Здравствуйте. подскажите как сделать, чтобы с файла считывались 2 числа, но при этом в файле это выглядит вот так : (25,16). Пытался...

Считывание из файла - C++
есть кодик int main(int argc, char* argv) { setlocale(LC_ALL, &quot;RUS&quot;); char c = 0; int n = 0, j = 0; int *a; ifstream...

Считывание из файла - C++
Есть к примеру некий файл d:\\file.txt Мне оттуда нужно считать переменные. Все нормально считывает fsсanf если в файле ТОЛЬКО цифры. ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
CEBEP
105 / 105 / 9
Регистрация: 21.03.2010
Сообщений: 437
21.10.2012, 00:46     Считывание Ентера из файла #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <cstdio>
void main()
{
    FILE* f = fopen("filename.txt","r");
    while(!feof(f))
    {
        int v;
        fscanf(f,"%d",&v);
        printf("$d\t",v);
    }
    fclose(f);
}
Добавлено через 1 минуту
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <cstdio>
#include <conio.h>
void main()
{
    FILE* f = fopen("filename.txt","r");
    while(!feof(f))
    {
        char v[1024];
        fgets(v,1024,f);
        puts(v);
        puts("\n");
    }
    fclose(f);
}
Eugen-S
8 / 8 / 0
Регистрация: 06.11.2011
Сообщений: 122
21.10.2012, 00:48  [ТС]     Считывание Ентера из файла #3
Цитата Сообщение от CEBEP Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <cstdio>
void main()
{
    FILE* f = fopen("filename.txt","r");
    while(!feof(f))
    {
        int v;
        fscanf(f,"%d",&v);
        printf("$d\t",v);
    }
    fclose(f);
}
Добавлено через 1 минуту
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <cstdio>
#include <conio.h>
void main()
{
    FILE* f = fopen("filename.txt","r");
    while(!feof(f))
    {
        char v[1024];
        fgets(v,1024,f);
        puts(v);
        puts("\n");
    }
    fclose(f);
}
ну это для цифр пройдет, а мне надо символы) слова чтоб считывать) хотя, а если по %s, оно до пробела вроде должно, да?
CEBEP
105 / 105 / 9
Регистрация: 21.03.2010
Сообщений: 437
21.10.2012, 00:49     Считывание Ентера из файла #4
второй вариант для этого
Eugen-S
8 / 8 / 0
Регистрация: 06.11.2011
Сообщений: 122
21.10.2012, 00:53  [ТС]     Считывание Ентера из файла #5
а стоп, поздно процитировал. сейчас попробую второй варианТ)

Добавлено через 2 минуты
нет, тоже не то) это будет блоком по 1024 символа читать, если я правильно понял, суть такая:

один два три
пять двадцать

вот у меня прога читает "один" "два" "три", а на "пять" и "двадцать" не переходит)
мне надо чтоб по слову считывалось... слово считалось и передалось в другой массив..
CEBEP
105 / 105 / 9
Регистрация: 21.03.2010
Сообщений: 437
21.10.2012, 00:54     Считывание Ентера из файла #6
Цитата Сообщение от Eugen-S Посмотреть сообщение
это будет блоком по 1024 символа читать
вы точно попробовали?
Eugen-S
8 / 8 / 0
Регистрация: 06.11.2011
Сообщений: 122
21.10.2012, 10:15  [ТС]     Считывание Ентера из файла #7
не, это была догадка, пробую...

Добавлено через 9 часов 12 минут
и всё же был прав, оно считывает строку целую)
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
21.10.2012, 10:40     Считывание Ентера из файла #8
В файле:
10 22 33 41
522 633 74
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <fstream>
using namespace std;
 
int main()
{
   fstream f("2.txt");
   
   char buf[255];
   while (!f.eof())
   {
      f >> buf;
      cout << buf << endl;
   }
  
  cout << endl;
  system("pause");
  return 0;
}
Миниатюры
Считывание Ентера из файла  
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
21.10.2012, 10:59     Считывание Ентера из файла #9
Или так:
C++
1
2
3
4
5
6
7
8
9
10
...
FILE *f = fopen("2.txt", "r");
   
   char buf[255];
   while (!feof(f))
   {
        fscanf(f, "%s", buf);
        cout << buf << endl;
   }
...
Eugen-S
8 / 8 / 0
Регистрация: 06.11.2011
Сообщений: 122
21.10.2012, 11:21  [ТС]     Считывание Ентера из файла #10
вроде как последний вариант работает, сейчас больше тестов проведу!) Спасибо!)
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
21.10.2012, 11:32     Считывание Ентера из файла #11
Цитата Сообщение от Eugen-S Посмотреть сообщение
вроде как последний вариант работает
А предпоследний?

Добавлено через 2 минуты
scanf() ( и fscanf()) читает до пробела('\n' для неё тоже пробел). Первые пробельные символы пропускаются. То есть, читаться будут именно слова. Тоже самое относиться и к cin >>.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.10.2012, 13:03     Считывание Ентера из файла
Еще ссылки по теме:

Считывание файла - C++
Как можно считать из файла строку 110011, как массив чисел, заранее спасибо!

Считывание из файла - C++
Ребят, помогите, пожалуйста, новичку разобраться=) Есть файл, в котором расположена информация примерно такого содержания 1946 12 30 0...

Считывание файла - C++
ВОбщем при считывании файла стандартными способами FILE *file = fopen(filename, &quot;r&quot;); if(file == NULL) { return; } ...

Считывание из файла - C++
Нужно считать из файла данные (по слову). Считывается только по символу. Помогите, пожалуйста, исправить. Может нужно перегрузить &gt;&gt; , если...


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

Или воспользуйтесь поиском по форуму:
Eugen-S
8 / 8 / 0
Регистрация: 06.11.2011
Сообщений: 122
21.10.2012, 13:03  [ТС]     Считывание Ентера из файла #12
там потоки, я с потоками еще не работал) но вообще по идее тоже должен работать)
Yandex
Объявления
21.10.2012, 13:03     Считывание Ентера из файла
Ответ Создать тему
Опции темы

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