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

Считывание из текстового файла значения int - C++

Восстановить пароль Регистрация
 
Dorim
0 / 0 / 0
Регистрация: 26.11.2014
Сообщений: 2
26.11.2014, 14:44     Считывание из текстового файла значения int #1
Сама задача:
Задан файл целых чисел. Убрать из него числа, символьное представление которых не содержит заданной литеры - цифры. Составить программу.

Есть рабочий код программы, но проблема в том что я считываю значения типа char и перевожу их в int (с помощью atoi). А нужно сделать чтобы программа из текстового файла сразу считывала значения int. Как именно это сделать я ума не приложу.

Код программы с++
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
//---------------------------------------------------------------------------
 
#include <iostream>
#include <fstream>
 
#include <string>
#include <stdlib>
#include<cstring>
using namespace std;
 
int main()
{
    char line[150];
    char stroka[150];
    char adres[100];
    char* stroka2;
    char* v1;
    char* stroka3;
    ifstream dop;
    ifstream ifs;
    ofstream ofs;
    ofstream text;
    bool q=true;
    int word,k,k1,v;
 
    cout<<"Vvedite adres : ";
    cin>>adres;
    cout<<"Vvedite cifri dly delete stroki : ";
        cin>>word;
    ifs.open(adres);
    if (!ifs.good()) {
    cout<<"Fail can't open \n" ; }
    else
    { ofs.open("F:\\OOP\\лаба4\\Debug\\dop.txt");
        if (!ofs.good()) {
    cout<<"Fail can't open \n" ; }
        while (!ifs.eof())
       while (ifs.getline(line,150))
          {strcpy(stroka, line);
               stroka2="";
               v1=strtok(line," ");
             while (v1!=NULL) {
             v= atoi(v1);
              q=false;
             k1=v;
               while (k1 != 0)
  {  k=k1%10; k1=k1/10;
  if (k==word) {q=true; break;
  } } if (q) {     ofs<<v1<<" ";
  ;
 
  } v1=strtok(NULL," ");
 }ofs<<'\n';
 }
}
       ifs.close();
      ofs.close();
      dop.open("F:\\OOP\\лаба4\\Debug\\dop.txt");
      if (!dop.good()) {
    cout<<"Fail can't open \n" ; }
    else
    { text.open(adres);
        while (!dop.eof())
       while (dop.getline(line,150))
        text<<line<<'\n';}
        dop.close();
      text.close();
    system("pause");
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.11.2014, 14:44     Считывание из текстового файла значения int
Посмотрите здесь:

C++ Посимвольное считывание из файла в массив int
Считывание из текстового файла C++
C++ Считывание с текстового файла. Сортировка
считывание из текстового файла в строку C++
C++ Считывание текстового файла
C++ Считывание из текстового файла
C++ Считывание\запись int из файла\в файл
Считывание текстового файла C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Khludenkov
31 / 25 / 4
Регистрация: 30.04.2014
Сообщений: 370
26.11.2014, 15:22     Считывание из текстового файла значения int #2
Открывай файл не в текстовом режиме а в бинарном.
Dorim
0 / 0 / 0
Регистрация: 26.11.2014
Сообщений: 2
01.12.2014, 15:34  [ТС]     Считывание из текстового файла значения int #3
Сделал
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
//---------------------------------------------------------------------------
#include <iostream>
#include <fstream>
#include <string>
#include <stdlib>
#include<cstring>
using namespace std;
 
int main()
{
    char line[150];
    char adres[100];
    char x;
    ifstream dop;
    ifstream ifs;
    ofstream ofs;
    ofstream text;
    int number,v,v1,c,l;
 
    cout<<"Vvedite adres : ";
    cin>>adres;
cout<<"Vvedite cifri dly delete stroki : ";
    cin>>number;
   ifs.open(adres);
    if (!ifs.good()) {
    cout<<"Fail can't open \n" ; }
    else
    { ofs.open("F:\\OOP\\лаба4\\Debug\\dop.txt");
        if (!ofs.good()) {
    cout<<"Fail can't open \n" ; }
       while (!ifs.eof())      {
           l=0;
           ifs>>v;
           x=ifs.get();
           if (x=='\n'){l++;}
           c=v;
 
           while (v != 0){
            v1=v%10;
             v=v/10;
             if (v1==number) {ofs<<c<<" ";}
                          }
             if (l==1) {ofs<<'\n';}
                           }
               }
       ifs.close();
      ofs.close();
      dop.open("F:\\OOP\\лаба4\\Debug\\dop.txt");
      if (!dop.good()) {
    cout<<"Fail can't open \n" ; }
    else
    { text.open(adres);
        while (!dop.eof())
       while (dop.getline(line,150))
        text<<line<<'\n';}
        dop.close();
      text.close();
    system("pause");
    return 0;
}
Yandex
Объявления
01.12.2014, 15:34     Считывание из текстового файла значения int
Ответ Создать тему
Опции темы

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