Форум программистов, компьютерный форум 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++ Дано натуральное число n дано натуральное число n, действытельные числа А, ... ,Аn. Получить min(А1,А3 ...); http://www.cyberforum.ru/cpp-beginners/thread142882.html
Where to download C++ C++
Where to download C++. Write plese! :scratch: Throw link!
C++ Задана динамическая матрица. Найти минимальный элемент матрицы
Задана динамическая матрица размером NxN. Найти минимальный элемент матрицы.
C++ Как сделать обратную индексацию? http://www.cyberforum.ru/cpp-beginners/thread142861.html
Когда я добавил всю инфомацыю, мне нада что б я мог упорядочить её по любой характиристике,но это у меня не получаеться, когда жму одну из этих кнопок то изменяються все строки. Помогите,на завтра срочно нада( п.с. просмотрите лучше саму программу, я знаю что там нада изменить всего пару строчек или дописать но не знаю как(
C++ Для каждого столбца матрицы вычислить количество элементов, являющихся нечетными числами Дана целочисленная матрица. Для каждого столбца матрицы вычислить количество элементов, являющихся нечетными числами. Определить, будут ли упорядочены полученные значения. помогите пожалуйста, сроки жмут(( Добавлено через 51 минуту Помогите пожалуйста. подробнее

Показать сообщение отдельно
вандал
126 / 126 / 1
Регистрация: 20.11.2009
Сообщений: 498

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

08.06.2010, 22:33. Просмотров 754. Ответов 5
Метки (Все метки)

Здраствуйте. Возникла такая проблема что при попытке что-то сделать с временной строкой 'с' выдается виндовская ошибка что пямать не может быть 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;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru