Помогите с С++ stdafx.h

Тема в разделе "Флудилка", создана пользователем sdfg, 6 дек 2017.

Метки:
  1. sdfg

    sdfg Гик

    Тему во флуд чтобы форум не ругался!
    Прошу не кидаться помидорами!
    Я новичок в С++ на пк , Раньше токо на ардуино писал.
    Работаю на dev c++.
    Проблема которая запрещена к рассуждению на многих форумах.
    Она это "stdafx.h no such file or directory" .
    Я понимаю что глупый вопрос.
    Но как избежать этой проблемы без постоянного std::
    Код (C++):
    #include "stdafx.h"
    #include "iostream"
    #include "clocale"
    using namespce std;
    int main()
    {
        setlocale(LC_ALL, "Russian");
        const int n = 101;
        char name[n], line[n];
        cout << "S:" << endl << endl;
        cin.getline(name, n);
        cout << endl;
        ifstream fin("d:\\mybaza.txt");
        if (!fin) { cout << "ERROR! File no found!" << endl; system("PAUSE"); return 1;}
        while (fin.getline(line, n)){
            if (strstr(line, name)) {cout << line << endl; }
        }
        cout << endl;
        system("PAUSE");
        return 0;
    }
    Код не мой - Пример отсюда http://olocoder.ru/C24.html
    Помогите пожалуйста!
     
  2. rkit

    rkit Гуру

    Если не пользуетесь этой системой, то не подключайте файл.
    Не понял связи с std::
     
    sdfg нравится это.
  3. DIYMan

    DIYMan Guest

    Ну вообще-то есть директива using namespace, почитайте, зачем она нужна - как раз для того, чтобы неймспейсы не писать по каждому чиху.
     
    sdfg нравится это.
  4. sdfg

    sdfg Гик

    cout не работает без using namespace std а using namespace std не работает без строки #include "stdafx.h"
    но это не мой код а пример от сюда http://olocoder.ru/C24.html
     
    Последнее редактирование: 7 дек 2017
  5. sdfg

    sdfg Гик

    и даже если сделать
    Код (C++):
    //#include "stdafx.h"
    #include "iostream"
    #include "clocale"
    //using namespce std;
    int main()
    {
        setlocale(LC_ALL, "Russian");
        const int n = 101;
        char name[n], line[n];
        std::cout << "S:" << std::endl << std::endl;
        std::cin.getline(name, n);
        std::cout << std::endl;
        //ifstream fin("d:\\mybaza.txt");
       // if (!fin) { std::cout << "ERROR! File no found!" << std::endl; system("PAUSE"); return 1;}
      //  while (fin.getline(line, n)){
      //      if (strstr(line, name)) {std::cout << line << endl; }
       // }
       // std::cout << std::endl;
        //system("PAUSE");
        return 0;
    }
    а не
    Код (C++):
    #include "stdafx.h"
    #include "iostream"
    #include "clocale"
    using namespce std;
    int main()
    {
        setlocale(LC_ALL, "Russian");
        const int n = 101;
        char name[n], line[n];
        cout << "S:" << endl << endl;
        cin.getline(name, n);
        cout << endl;
        ifstream fin("d:\\mybaza.txt");
        if (!fin) { cout << "ERROR! File no found!" << endl; system("PAUSE"); return 1;}
        while (fin.getline(line, n)){
            if (strstr(line, name)) {cout << line << endl; }
        }
        cout << endl;
        system("PAUSE");
        return 0;
    }
     
  6. sdfg

    sdfg Гик

    то все равно не работает
     
  7. sdfg

    sdfg Гик

    ну вообще то она у меня стоит в изначальном коде
    который тоже неработает хотя взят пример
     
  8. sdfg

    sdfg Гик

    Код (Text):
    1    20    C:\Users\ÈÊÑ\Documents\poisk.cpp    [Error] stdafx.h: No such file or directory
    compilation terminated.
    28        C:\Users\ÈÊÑ\Documents\Makefile.win    recipe for target 'poisk.o' failed
     
    это та ошибка с которой я пришол
     
  9. sdfg

    sdfg Гик

    вот код из примера
    Код (C++):
    #include "stdafx.h"
    #include "iostream"
    #include "clocale"
    using namespce std;
    int main()
    {
    setlocale(LC_ALL, "Russian");
    const int n = 101;
    char name[n], line[n];   // line õðàíèò â ñåáå ïðîâåðÿþùóþñÿ ñòðîêó
    cout << "Ââåäèòå ôàìèëèþ:" << endl << endl;
    cin.getline(name, n);
    cout << endl;
    ifstream fin("d:\\mybaza.txt");   // îòêðûâàåì ôàéë
    if (!fin) { cout << "ERROR! File no found!" << endl; system("PAUSE"); return 1;}
    while (fin.getline(line, n)){
    if (strstr(line, name)) {cout << line << endl; }
    }
    cout << endl;
    system("PAUSE");
    return 0;
    }
     
  10. DIYMan

    DIYMan Guest

    Вы чего хотите-то? Чтобы сторонний код, сделанный под одной средой разработки, скомпилировался под другой средой разработки? Тогда решайте - пробуйте закомментировать подключение stdafx.h, смотрите, на что ругается, анализируйте. Судя по ошибкам - там ещё и с мейкфайлом проблемы. По телефону такие вещи, как правило, не лечатся.

    Код тривиальный, его можно и самому с нуля переписать, создав консольный проект в вашей IDE - думаю, это будет лучшим вариантом.
     
    sdfg нравится это.
  11. rkit

    rkit Гуру

    Как работает, когда у вас вообще #include "stdafx.h" не работает? Может подумаете еще?
     
    sdfg нравится это.
  12. Igor68

    Igor68 Гуру

    Простите... но так и не понял: Вы решили проблему? Или вопрос актуален? Но пример от Visual Studio. А у Microsoft всегда всё по своему.
     
    sdfg нравится это.
  13. sdfg

    sdfg Гик

    Здравствуйте,
    нет
    не очень - сечас нету времени
    ну это понятно

    Спасибо за ответ
     
  14. Igor68

    Igor68 Гуру

    Будьте внимательнее:
    Код (C++):

    using namespce std;
     
    а надо:
    Код (C++):

    using namespace std;
     
    Потребовалось запускать виртуальную машину с Windows и VisualStudio... реальных Windows не держу. Сразу и сам не заметил.
     
  15. Igor68

    Igor68 Гуру

    Вот попробуйте:
    Код (C++):

    //#include "stdafx.h"
    #include <stdio.h>
    #include <tchar.h>
    #include <iostream>
    #include <fstream>
    #include <clocale>
    using namespace std;

    int main()
    {
        setlocale(LC_ALL, "Russian");
        const int n = 101;
        char name[n], line[n];
        cout << "S:" << endl << endl;
        cin.getline(name, n);
        cout << endl;
        ifstream fin("d:\\mybaza.txt");
        if (!fin) { cout << "ERROR! File no found!" << endl; system("PAUSE"); return 1;}
        while (fin.getline(line, n)){
            if (strstr(line, name)) {cout << line << endl; }
        }
        cout << endl;
        system("PAUSE");
        return 0;
    }
     
    Понятно заголовочные (#include <file>) надо поставить вручную... как тут. Тестировал в Visual Studio 2005. В настройках проекта вот это:
    Снимок28.JPG