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

Возникает ошибка при использовании fscanf - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ warning C4005: '_WIN32_WINDOWS' : macro redefinition http://www.cyberforum.ru/cpp-beginners/thread142889.html
есть программа ,при компилирование выдает ошибку такого рода -------------------Configuration: DIPLOM_6 - Win32 Debug-------------------- Compiling... DIPLOM_6.cpp c:\program files\microsoft visual studio\vc98\mfc\include\afxv_w32.h(119) : warning C4005: '_WIN32_WINDOWS' : macro redefinition i:\diplom_9\diplom_6\targetver.h(20) : see previous definition of '_WIN32_WINDOWS' NOTE:...
C++ Where to download C++ Where to download C++. Write plese! :scratch: Throw link! http://www.cyberforum.ru/cpp-beginners/thread142875.html
C++ Задана динамическая матрица. Найти минимальный элемент матрицы
Задана динамическая матрица размером NxN. Найти минимальный элемент матрицы.
Производный класс! Не могу понять в чем ошибка!! C++
#ifndef LR_H #define LR_H #include <stdexcept> template <class T> class LR: public Rat { // Ошибка expected class-name before '{' token public: template <class v> friend ostream &operator<<(ostream& out, Rat<v> &t); };
C++ Где кроется ошибка при заполнении массива структур? http://www.cyberforum.ru/cpp-beginners/thread142830.html
У меня ввод данных в массив не происходит, только вот не пойму почему, может быть кто-нибудь подскажет, в чем кроется ошибка? Я не успеваю ввести данные в массив, как у меня появляется: Enter hobby #1: Enter ooplevel #1: Enter fullname #2 Enter hobby #2: Enter ooplevel #2: Enter fullname #3 Enter hobby #3: Enter ooplevel #3: Функция getinfo принимает 2 аргумента: указатель на первый...
C++ файлы на завтра надо лабу с файлами сделать, а я с ними не работал никогда(( дайте пожалуйста кусок кода или маленькую прогу чтобы разобраться (ввод,вывод,как к файлу обратиться) подробнее

Показать сообщение отдельно
вандал
126 / 126 / 1
Регистрация: 20.11.2009
Сообщений: 498
08.06.2010, 22:33     Возникает ошибка при использовании fscanf
Здраствуйте. Возникла такая проблема что при попытке что-то сделать с временной строкой 'с' выдается виндовская ошибка что пямать не может быть read. даже вывести ее после сканфа не получается. помогите пожалуйста разобраться.запускается следующим образом сначала пишите исполняемый фаил затем затем фаил с которым работаете. например "\lab file.txt"


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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#include "stdio.h"
#include <iostream>
#include <vector>
#include <map>
#include <ctime>
#include <cstdlib>
using namespace std;
int main(int argc, char **argv) {
    FILE *fi; 
    vector<int> vt;
    map<string, vector<int> > sht;
    char b[32];
    int i = 0, instr = 1, l = 0;
    string word, c, word2;
    if(argc < 2) {
        printf("error: no input file specified\n"
            "usage: %s filename\n", argv[0]);
        goto done;
    }
    if(!(fi = fopen(argv[1], "r"))) {
        printf("error: can't open file %s\n", argv[1]);
        goto done;
    }
      clock_t timer;
        cout << "enter search word: " << endl;
    cin >> word;
    cout << "looking for word " << word << "..." << endl;
    timer = clock();
    cout << "test4" << endl;   
    c = "d";
    printf("%s", c);
    while(fscanf(fi, "%s", &c) != EOF){   
       cout << "test5" << endl;
       l = c.length();
       if((c[l-1] == ',')||(c[l-1] == '.')||(c[l-1] == '!')||(c[l-1] == '?')){
          word2.replace(0,l-1,c);
          cout << "test" << endl;
          if(word2 == sht.find(word2)->first){
             (sht.find(word2)->second).push_back(instr);
          cout << "test1"<< endl;
          }
          else{
             l = vt.size();
             for(int k; k < l; k++){
                vt.pop_back();
             }
             vt.push_back(instr);
             sht.insert(std::pair<string,vector<int> >(b,vt));
          cout << "test2"<< endl;
          } 
       }
       if(c[l-1] == '\n')
          instr++;
    }       
        cout << "test3"<< endl;
        for(int k=0;k < (sht.find(word)->second).size();k++){
               cout << "stroka # " << (sht.find(word)->second)[k] << endl;
        }
     
      cout << "std::map took " << static_cast<double>(clock() - timer)/CLOCKS_PER_SEC << " second\n";
 
done:
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 03:34. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru