Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Заголовочные файлы, в чём разница между .h и без расширения 
V
    Опции темы
Riddik
Дата 31.1.2009, 23:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 598
Регистрация: 2.12.2006

Репутация: нет
Всего: нет



Visual C++ 6.0

Некоторые файлы в папке Include отличаются только расширением, а точнее тем, что с тем же именем есть файлы без расширения, например iostream.h и iostream И ещё ряд.
Почему, для чего так? 
В подключении таких файлов компилятор видит разницу, так ведь?

Т.е. #include <iostream.h >  совсем не одно и то же с #include <iostream>, подключаться разные файлы?




И ещё, у меня есть подозрение, что мой компилятор заглючил.


Потому большая просьба, у кого есть время, проверьте у себя (у кого Visual C++ 6.0), создайте пустой проект win32 console application и откомпилируйте следующий код:
Ищет анаграммы в текстовом файле, (приложен к посту)
Код

#include <iostream>
#include <fstream>
#include <string>
#include <algorithm>
#include <map>
using namespace std;
void main()
{
    multimap<string, string> antidur;
    multimap<string, string>::iterator ani, ane, am;
    ifstream fil("slovar.txt");
    if(fil.is_open()==0) exit(0);
    char buff[10];
    string sbuff;
    int n;
    for(;;)
    {
        fil.getline(buff, sizeof(buff));
        if(fil.eof()) break;
        sbuff=buff;
        sort(sbuff.begin(), sbuff.end());
        antidur.insert(pair<string, string>(sbuff, buff));
    }
    ani=ane=antidur.begin();
    n=0;
    do
    {
        while(++ane!=antidur.end()&&(*ane).first==(*ani).first) n++;
        if(n)
        {
            for(am=ani; am!=ane; am++) cout<<(*am).second<<endl;
            n=0;
            cout<<endl;
        }
        ani=ane;
    }
    while(ane!=antidur.end());
    fil.close();

}




У меня почему-то выдаёт 119 предупреждений, но всё работает. Это нормально?

Присоединённый файл ( Кол-во скачиваний: 4 )
Присоединённый файл  slovar.txt 0,06 Kb
PM MAIL   Вверх
NightmareZ
Дата 1.2.2009, 00:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


[хакер]
**


Профиль
Группа: Участник
Сообщений: 699
Регистрация: 10.8.2006

Репутация: 0
Всего: 13



Юзать <iostream> более кошерно, чем <iostream.h> согласно Стандарту.

Добавлено через 1 минуту и 28 секунд
Цитата(Riddik @  31.1.2009,  23:58 Найти цитируемый пост)
У меня почему-то выдаёт 119 предупреждений, но всё работает. Это нормально?


Напиши, чтоль, что за предупреждения.


--------------------
NightmareZ.net - мой блог и сайт, мои проекты и прочий трэш
Ely-Art.ru - наша маленькая домашняя арт-студия
mugcraft.ru - кружки на любой вкус
PM WWW ICQ Skype GTalk AOL YIM   Вверх
Riddik
Дата 1.2.2009, 00:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 598
Регистрация: 2.12.2006

Репутация: нет
Всего: нет



Вот такая какафония, что в одно сообщение не влезете (более 30000 символов), потому фрагмент:



c:\programs\microsoft visual studio\vc98\include\xtree(120) : warning C4786: 'std::_Tree<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char> > const ,std:
:basic_string<char,std::char_traits<char>,std::allocator<char> > >,std::multimap<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::less<std::basic_string<ch
ar,std::char_traits<char>,std::allocator<char> > >,std::allocator<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > >::_Kfn,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,std::allocator<std::bas
ic_string<char,std::char_traits<char>,std::allocator<char> > > >' : identifier was truncated to '255' characters in the debug information
        
      
uchenie02.obj - 0 error(s), 119 warning(s)
PM MAIL   Вверх
Riddik
Дата 1.2.2009, 11:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 598
Регистрация: 2.12.2006

Репутация: нет
Всего: нет



Проверьте кто-нибудь, пожалуйста
PM MAIL   Вверх
pan2004
Дата 1.2.2009, 15:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 357
Регистрация: 28.7.2007

Репутация: 2
Всего: 9



Цитата(Riddik @  1.2.2009,  00:27 Найти цитируемый пост)
warning: ... identifier was truncated to '255' characters in the debug information

Ну в этом варнинге нет ничего страшного(если знаете английский, то сразу бы это поняли). Написано, что такой длинный идентификатор будет обрезан в отладчике до 255 символов, что, впрочем, не произведет никаких side effectов на процесс компиляции или работу самого приложения.


--------------------
Qt4/C++ fan
WinXP SP3: MSVC++2005 Qt4.5.1 Boost1.39
сыграем в дурака?
PM MAIL   Вверх
Riddik
Дата 1.2.2009, 17:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 598
Регистрация: 2.12.2006

Репутация: нет
Всего: нет



Почему таких предупреждений аж 119?
PM MAIL   Вверх
xvr
Дата 2.2.2009, 18:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 35
Всего: 223



Цитата(Riddik @ 1.2.2009,  17:10)
Почему таких предупреждений аж 119?

Полтому что он это выдает почти на все потроха STL, которые попали в программу. А их там немало  smile 
PM MAIL   Вверх
Riddik
Дата 2.2.2009, 18:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 598
Регистрация: 2.12.2006

Репутация: нет
Всего: нет



Т.е. у всех так будет? ))
PM MAIL   Вверх
Carnifex
Дата 3.2.2009, 00:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 1.5.2008

Репутация: нет
Всего: нет



Ну это вообще ненормально, наверное специфика компилятора. Шестёрке уже лет под девять, всё-таки
PM MAIL   Вверх
xvr
Дата 3.2.2009, 11:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 35
Всего: 223



Цитата(Riddik @ 2.2.2009,  18:46)
Т.е. у всех так будет? ))

Да. Я обычно в stdafx.h ставил
Код

#pragma warning( disable : 4786)


PM MAIL   Вверх
Riddik
Дата 3.2.2009, 11:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 598
Регистрация: 2.12.2006

Репутация: нет
Всего: нет



Всем спасибо smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0761 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.