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

Работа с текстовым файлом в Visual Studio - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Поиск в глубину http://www.cyberforum.ru/cpp-beginners/thread1025255.html
Помогите с заданием пожалуйста. Число 1 можно записать как сумму n чисел вида 1 / i, где i - натуральное число. Например, для n = 3 имеем 1 = 1/2 +1 / 4 +1 / 4. Найти способы записи числа 1 для заданного n методом поиска в глубину.
C++ Эвристика. Рюкзак Алладина. Помогите с заданием пожалуйста. Разработать алгоритм и написать программу для задания Алладина: сколько ценных вещей (заданных массе и цене) может поместиться в рюкзак (заданный объем) Алладина. http://www.cyberforum.ru/cpp-beginners/thread1025254.html
C++ Составить функцию вычисления суммы
Прошу помощи, не понимаю, как записать числитель, что означает это троеточие? Заранее спасибо!
Конвертация из heximal в int C++
Нужно написать функцию для конвертации строки, представленной как heximal, в int. Например: Вход: char * pStr = "0xFF"; Выход: int iRes = 255;
C++ Значение бесконечности для неизвестного типа http://www.cyberforum.ru/cpp-beginners/thread1025234.html
Доброго времени суток, уважаемые эксперты! Просьба помочь с возникшим у меня вопросом: для решение некоторой задачи, мне приходится иметь в программе значение бесконечности float difference = std::numeric_limits<float>::max(); или float difference = std::numeric_limits<float>::infinity(); И это замечательно работает до тех пор пока я не выношу определение этой переменной в шаблон: ...
C++ Проверка числа открывающихся и закрывающихся скобок Нужно написать функцию, которая проверяет правильность расположения скобок в строке. Если открывающимся скобкам соответствует столько-же закрывающихся, функция должна возвращать true. Пример входной строки: "(()))())()" подробнее

Показать сообщение отдельно
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
03.12.2013, 13:55     Работа с текстовым файлом в Visual Studio
Код не компилируется с моим кодом (там и fopen() не проходит, и fscanf(), запускается какой-то ранее удачно скомпилированный.
Цитата Сообщение от PapaKarlito Посмотреть сообщение
если менять fopen на fopen_s то этой функции надо 3 аргумента, и получится примерно то, что у меня было вначале написано.
Проверку (если использовать fopen_s()) открытия файла исправили (как в 10 посте написано)? При неудаче не 0.

Добавлено через 15 часов 40 минут
Вот исправленный код, с функциями, которые вы используете. В 10 студии компилируется без предупреждений, а значит в 12-ой или 13-ой (какая у вас не знаю) скомпилируется без ошибок. И мой вам совет: зайдите в студии в Сервис - Параметры - Проекты и решения - Построение и запуск - При выполнении, когда возникают ошибки построения, выберите: Не запускать. Чтобы, если последний код не скомпилировался, не запускался (без спроса) ранее скомпилированный .exe. Или, в крайнем случае, не нужно построение делать через F5. Сначала построить - F7, если успешно, тогда запускать.

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
case 1:                                                                //case 1 to scan a file and read all data from it.
        
            if ((err = fopen_s(&list, "studenti.txt", "r")) != NULL) // исправленно
            {
                printf("Nevar atvert failu \n");
                system("pause");
                exit(1);
            }
 
            for (i = 0; i < N; i++)
            {
                //since there is no way to return the number of the lines in a file
                fscanf_s(list, "%d", &student[i].Nr);           //and if we try to return a nonexistent line, it will se the pointer to the end of line
                if (feof(list))
                {
                    last = i;
                    break;
                }
                fscanf_s(list, "%s", student[i].name, 30);    // исправленно  //the return will be gibberish, but the pointer will stand on the same way before 
                fscanf_s(list, "%s", student[i].surname, 30); // исправленно  //and after the attempt to read stuff.
                fscanf_s(list, "%d", &student[i].date.day);     //therefore, if we see that pointer position doesnt change, we know ir is at the end.fscanf(list, "%1c");
                fscanf_s(list, "%d", &student[i].date.month);   //if so, we break out of the loop for it is set to go through the maximum list size N.
                fscanf_s(list, "%d", &student[i].date.year);
                
            }
            fclose(list);
            exists = 1;                                    //tiny variable for later use, to avoid processing empty list
 
            break;
 
Текущее время: 04:49. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru