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

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

Восстановить пароль Регистрация
 
Eugen-S
 Аватар для Eugen-S
8 / 8 / 0
Регистрация: 06.11.2011
Сообщений: 122
21.10.2012, 00:33     Считывание Ентера из файла #1
Доброй ночи, друзья.
Пишу код, считываю из файла слова.. вот, файл имеет допустим такой набор:

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++ Считывание с файла !
C++ Считывание с файла
считывание из файла C++
Считывание из файла C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
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
 Аватар для 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
 Аватар для 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
 Аватар для Eugen-S
8 / 8 / 0
Регистрация: 06.11.2011
Сообщений: 122
21.10.2012, 10:15  [ТС]     Считывание Ентера из файла #7
не, это была догадка, пробую...

Добавлено через 9 часов 12 минут
и всё же был прав, оно считывает строку целую)
alsav22
5282 / 4801 / 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
5282 / 4801 / 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
 Аватар для Eugen-S
8 / 8 / 0
Регистрация: 06.11.2011
Сообщений: 122
21.10.2012, 11:21  [ТС]     Считывание Ентера из файла #10
вроде как последний вариант работает, сейчас больше тестов проведу!) Спасибо!)
alsav22
5282 / 4801 / 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++ Считывание из файла
C++ Считывание с файла
Считывание из файла C++

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

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

Текущее время: 08:16. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru