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

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

Войти
Регистрация
Восстановить пароль
 
Matfeya
Сообщений: n/a
#1

Cтроки, сравнение, чтение из файла - C++

24.01.2011, 09:48. Просмотров 589. Ответов 8
Метки нет (Все метки)

Имеется файл .тхт с содержанием примерно следующего вида:

HTML5
1
2
3
192.168.0.1 www.allposters.com
192.168.0.2 www.debian.org
192.168.0.3 www.lostfilm.tv

Задача такая: вводим с клавиатуры айпи - показывает соответствующий домен и наоборот.

Ума хватило только на такой вариант, когда файл содержит только одну строчку

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
void main() 
 
{
    FILE* f=fopen("File.txt","r");
    char input[255];
    char dns[255];
    char ip[255];
    int i;
    while (!feof(f))
    {
        fscanf(f,"%s %s",&ip,&dns);
        
    }
    
    scanf("%s", &input);
    if(strcmp(input,ip)==0 || strcmp(input,dns)==0) 
        i=strcmp(input,ip);
    else 
        
    {
        printf("Not found");
        getch();
        return;
    }
        if (i==0)   
            printf("%s", dns);
        else
            printf("%s", ip);
 
    getch();
    
}
Поможете, чтобы работало с несколькими?
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.01.2011, 09:48
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Cтроки, сравнение, чтение из файла (C++):

Сравнение переменных или чтение с файла? - C++
После тестировки, выяснилось, что проблема возникает в строке указаной коментом. Хочу узнать в чем заключается ошибка.Возможно проблема...

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

Чтение из файла в список, сравнение с элементами списка - C++
Здравствуйте! Стыдно спрашивать такие нюансы, но все же приходится, ибо в мою деревянную голову ничего просто так не входит. Подскажите...

Чтение и сравнение символов из файла без использования массива - C++
Здравствуйте, подскажите, как можно реализовать посимвольное чтение 2-х (3-х) файлов, при котором символ из 1-го файла сравнивается с...

Сравнение текста из файла и сравнение с текстом в программе char - Dev C++ - C++
Доброго времени суток! Имеется код программы: ifstream test("primer.txt"); char awm = "kod"; char buff; test >> buff; if (buff...

Переделать в коде чтение из файла в чтение с клавиатуры - C++
Переделайте что бы текст считывался с клавиатуры, а не с файла! Буду благодарен за помощь! //файл должен начинаться со слова, между...

8
igorrr37
1647 / 1275 / 133
Регистрация: 21.12.2010
Сообщений: 1,932
Записей в блоге: 7
24.01.2011, 12:23 #2
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
#include<iostream>
#include<fstream>
#include<vector>
using namespace std;
 
struct node{
    string ip;
    string domen;
};
 
int main(){
    string path, ip, domen;
    cout<<"file path= \n";
    getline(cin, path);
    fstream fs(path);
    if(!fs){cerr<<"file not found"; return 1;}
    vector<node> v;
    while(fs>>ip){
        fs>>domen;
        node a;
        a.ip=ip;
        a.domen=domen;
        v.push_back(a);
    }
    for(int i=0;i<v.size();i++){
        cout<<v[i].ip<<"  "<<v[i].domen<<"\n";
    }
    while(true){
        cout<<"\nInput ip or domen to search\n";
        cin>>path;
        bool isFound=0;
        for(int i=0;i<v.size();i++){
            if(v[i].ip==path){
                cout<<v[i].domen<<"\n";
                isFound=1;
            }
            if(v[i].domen==path){
                cout<<v[i].ip<<"\n";
                isFound=1;
            }
        }
        if(!isFound) cout<<"Not found\n";
    }
}
0
Matfeya
Сообщений: n/a
25.01.2011, 06:37 #3
Спасибо большое, будем разбираться
Noname2512
4 / 4 / 1
Регистрация: 25.06.2010
Сообщений: 106
25.01.2011, 17:58 #4
Токо перешел на с++ не могу разобраться как обычную строку(string) счтать из файла
Кто нибудь знает?
0
asics
Freelance
Эксперт С++
2847 / 1782 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
25.01.2011, 18:32 #5
Noname2512,
C++
1
2
3
4
std::ifstream ifs("INPUT.TXT");
std::string str;
getline(ifs, str);
//...
1
Noname2512
4 / 4 / 1
Регистрация: 25.06.2010
Сообщений: 106
25.01.2011, 18:58 #6
а в такой стуации не знаешь как лучше сделать?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
{
    using namespace std;
    fstream in;
    string s[3];
    int i,x;
 
    in.open("input.txt",ios::in);
    for (i=1;i<=3;i++)
    {
        in.getline(s[i].c_str());//ошбка здесь, не знаю как по другому
    }
    in.close();
}
0
asics
Freelance
Эксперт С++
2847 / 1782 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
25.01.2011, 19:06 #7
Цитата Сообщение от Noname2512 Посмотреть сообщение
а в такой стуации не знаешь как лучше сделать?
В какой "такой" ? Озвуч задачу полностю.
0
Noname2512
4 / 4 / 1
Регистрация: 25.06.2010
Сообщений: 106
25.01.2011, 19:24 #8
нельзя ли в моей проге просто как то изменить ошибочную строку?
0
igorrr37
1647 / 1275 / 133
Регистрация: 21.12.2010
Сообщений: 1,932
Записей в блоге: 7
25.01.2011, 19:46 #9
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include<iostream>
#include<fstream>
using namespace std;
 
int main() {
    string s[3];
    fstream in("input.txt");
    if(!in){cerr<<"FNF"; return 1;}
    int i, x;
    for (i=0; i<sizeof(s)/sizeof(string); i++){
        getline(in, s[i], '\n');
        cout<<s[i]<<"\n";
    }
    in.close();
}
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.01.2011, 19:46
Привет! Вот еще темы с ответами:

Чтение из файла. Повторное чтение файла - C++
Добрый день. Необходимо реализовать в программе функцию повторного чтения данных из файла, в случае некорректного ввода их в оный. Вот...

Cтроки - C++
Дан текс, содержащий целые числа. Вывести на экран только четные числа. Сделай пожалуйста кому не трудно, буду очень благодарен!

Cтроки - C++
написал програму #include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;conio.h&gt; using namespace std; void main() ...

[C++] Cтроки - C++
Hi all! не могу понять свою ошибку,помогите. суть: есть массив слов,напечатать слова так,чтобы последняя буква 1 слова была такой же,как и...


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

Или воспользуйтесь поиском по форуму:
9
Yandex
Объявления
25.01.2011, 19:46
Ответ Создать тему
Опции темы

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