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

не понимаю-почему не сравнивает? - C++

Восстановить пароль Регистрация
 
Игорь с++
 Аватар для Игорь с++
429 / 452 / 15
Регистрация: 26.01.2011
Сообщений: 2,029
17.05.2011, 00:20     не понимаю-почему не сравнивает? #1
господа имеется программа которая выполняет следущее:
1)пользователь вводит время,которое заносится в файл
2)программ определяет сколько на самом деле време и заносит в другой txt файл
3)сравнивает 2 файла.
Что интересно-показывает не совпадение,хотя они совпадают обсалютно!!!
И что ещё интересно ногда вводиш в ручную и в первый файл и во второй показывает что файлы одинаковы!
вот программа которая вносит данные:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include<iostream>
#include<fstream>
#include<string>
#include<iterator>
#include <stdio.h> 
using namespace std;
int main(){
    
        freopen("2.txt", "a", stdout);
    system("time/t");
fclose(stdout);
freopen("1.txt", "a", stdout);
    system("time/t");
fclose(stdout);
  
  return 0;
}
Вот которая проверяет:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include<iostream>
#include<fstream>
#include<string>
#include<iterator>
 
int main(){
  std::ifstream i1("1.txt"), i2("2.txt");
  if(!i1||!i2){std::cerr<<"File not found";system("pause"); return -1;}
  std::string s1((std::istreambuf_iterator<char>(i1)), std::istreambuf_iterator<char>());
  std::string s2((std::istreambuf_iterator<char>(i2)), std::istreambuf_iterator<char>());
  std::cout<<std::boolalpha<<(s1==s2)<<"\n";system("pause");
  i1.close();
  i2.close();
  return 0;
}
Кто нибудь может объяснить и подсказать что делать?
Заранее всем огромное спасибо!!!

Добавлено через 2 минуты
извеняюсь которая вносит данные вот эта:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include<iostream>
#include<fstream>
#include<string>
#include<iterator>
#include <stdio.h> 
using namespace std;
int main(){
    
         char str[100];
std::cout<<"Enter your time, please:";
cin>>str;
freopen("2.txt", "a", stdout);
std::cout<<str;
fclose(stdout);
freopen("1.txt", "a", stdout);
    system("time/t");
fclose(stdout);
  
  return 0;
}
та прога не верная
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
igorrr37
 Аватар для igorrr37
1593 / 1221 / 118
Регистрация: 21.12.2010
Сообщений: 1,868
Записей в блоге: 7
17.05.2011, 00:35     не понимаю-почему не сравнивает? #2
так вернее
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include<iostream>
#include<fstream>
#include<string>
#include<iterator>
#include <stdlib.h>
using namespace std;
int main(){
 
         char str[100];
std::cout<<"Enter your time, please:";
cin>>str;
freopen("2.txt", "a", stdout);
std::cout<<str<<"\n";
fclose(stdout);
freopen("1.txt", "a", stdout);
    system("time/t");
fclose(stdout);
 
  return 0;
}
Vlad_IT
 Аватар для Vlad_IT
1437 / 343 / 16
Регистрация: 03.04.2010
Сообщений: 2,095
17.05.2011, 00:53     не понимаю-почему не сравнивает? #3
На место сравнения можно сделать так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include<iostream>
#include<fstream>
#include<string>
#include<iterator>
using namespace std;
 
int main()
{
  ifstream i1("1.txt"), i2("2.txt");
  if(!i1||!i2){cerr<<"File not found";system("pause"); return -1;}
  string str1,str2;
  i1  >> str1;
  i2 >> str2;
  if(str1 != str2) cout << "False";
  else cout << "True";
  i1.close();
  i2.close();
  return 0;
}
а на место получения даты вот

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include<iostream>
#include<fstream>
#include<string>
#include<iterator>
#include <stdlib.h>
using namespace std;
int main(){
 system("del 1.txt");
 system("del 2.txt");
         char str[100];
std::cout<<"Enter your time, please:";
cin>>str;
freopen("2.txt", "a", stdout);
std::cout<<str<<"\n";
fclose(stdout);
freopen("1.txt", "a", stdout);
    system("time/t");
fclose(stdout);
 
  return 0;
}
Попробуйте
Игорь с++
 Аватар для Игорь с++
429 / 452 / 15
Регистрация: 26.01.2011
Сообщений: 2,029
17.05.2011, 09:04  [ТС]     не понимаю-почему не сравнивает? #4
спасибо большое очень помогли!!!
Yandex
Объявления
17.05.2011, 09:04     не понимаю-почему не сравнивает?
Ответ Создать тему
Опции темы

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