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

Считать 2 слова из файла через пробел и сравнить их со словом No или Yes - C++

Восстановить пароль Регистрация
 
kd32n65
0 / 0 / 0
Регистрация: 27.10.2012
Сообщений: 8
27.10.2012, 17:25     Считать 2 слова из файла через пробел и сравнить их со словом No или Yes #1
В файле input.txt записаны два слова через пробел. "Yes" и "No". Нужно считать их из этого файла, затем если s1, первое слово "Yes", и второе слово s2 "No", то вывести в файл output.txt "Yes". Помогите пожалуйста с реализацией. У меня ничего не выводит вообще. Мой код:
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include<stdio.h>
using namespace std;
FILE *f1,*f2;
char s1[9],s2[9];
int main()
{
    f1=fopen("input.txt","r+");
    f2=fopen("output.txt","w+");
    fprintf(f1,"%s %s",&s1,&s2); 
                    if((s1 == "Yes") && (s2 == "NO")) fprintf(f2,"Yes");
                    fclose(f1);
                    fclose(f2);
    
    }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.10.2012, 17:25     Считать 2 слова из файла через пробел и сравнить их со словом No или Yes
Посмотрите здесь:

Как считать информацию из файла, если в конце стоит пробел? C++
C++ Builder Как прописать слова через пробел в одну строку?
C++ В строку через пробел вводятся слова. Отсортировать введенные слова по алфавиту. Результат вывести в виде столбца.
C++ В исходной строке, содержащей перечисленные через пробел слова, найти целые положительные числа и составить из них новую строку
Ввести 2 слова через пробел, сравнить их на эквивалентность C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Петррр
 Аватар для Петррр
5917 / 3354 / 333
Регистрация: 28.10.2010
Сообщений: 5,926
27.10.2012, 17:43     Считать 2 слова из файла через пробел и сравнить их со словом No или Yes #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <string>
#include <fstream>
 
int main()
{
    std::ifstream input("input.txt");
    if (input.is_open())
    {
        std::string arr[2];
        input >> arr[0];
        input >> arr[1];
        if (arr[0] == "Yes" && arr[1] == "No")
            (std::ofstream("output.txt")) << "Yes";
    }
    return 0;
}
kd32n65
0 / 0 / 0
Регистрация: 27.10.2012
Сообщений: 8
27.10.2012, 18:05  [ТС]     Считать 2 слова из файла через пробел и сравнить их со словом No или Yes #3
Цитата Сообщение от Петррр Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <string>
#include <fstream>
 
int main()
{
    std::ifstream input("input.txt");
    if (input.is_open())
    {
        std::string arr[2];
        input >> arr[0];
        input >> arr[1];
        if (arr[0] == "Yes" && arr[1] == "No")
            (std::ofstream("output.txt")) << "Yes";
    }
    return 0;
}
Спасибо, но не работает, выводит такие значения, как "0x44000a".

Добавлено через 10 минут
Огромнейшее спасибо , разобрался, все идет, очень благодарен.
Что бы не писало каких-то кодов как на посте выше переписал вывод на свой:
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <string>
#include <fstream>
FILE *f1;
int main()
{
f1=fopen("output.txt","w+");
    std::ifstream input("input.txt");
    if (input.is_open())
    {
        std::string arr[2];
        input >> arr[0];
        input >> arr[1];
        if (arr[0] == "Yes" && arr[1] == "No")
            fprintf(f1,"Yes");
    }
    return 0;
}
MrGrig
176 / 159 / 2
Регистрация: 08.10.2012
Сообщений: 422
27.10.2012, 19:11     Считать 2 слова из файла через пробел и сравнить их со словом No или Yes #4
Цитата Сообщение от kd32n65 Посмотреть сообщение
У меня ничего не выводит вообще
Не выводит по простой причине, потому что условие не выполняется, а не выполняется оно по простйо причине, тип char будь то переменная или массив, при всяких операциях типа присвоения или сравнения всегда проверяет 1й символ, если указывать таким образом каким указали вы. У типа string эти операции переопределены соответственно возможности расширяются =)
Yandex
Объявления
27.10.2012, 19:11     Считать 2 слова из файла через пробел и сравнить их со словом No или Yes
Ответ Создать тему
Опции темы

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