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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 232, средняя оценка - 4.65
prom1856
14 / 14 / 1
Регистрация: 22.09.2008
Сообщений: 46
#1

fopen() - C++

22.09.2008, 09:21. Просмотров 29800. Ответов 19
Метки нет (Все метки)

Win XP SP2, VS 2005
не могу понять, почему fopen() не работает? Просмотрел в поиске, на форумах - вроде все понятно, а не работает. В чем засада?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <stdio.h>
using namespace std;
 
void main(void)
{
 
    FILE* stream;    
    if((stream = fopen("c:\\aaa.txt","r")) == NULL)
    {
        cout << "file open" << "\n";
        return;
    }
    else
    {
        cout << "file don't open" << "\n";
    }
}
Сообщения билда надо привести?

Добавлено через 1 час 26 минут 23 секунды
А в таком варианте работает:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <stdio.h>
using namespace std;
 
void main(void)
{
    errno_t err;
    FILE* stream;    
    if((err = fopen_s(&stream,"c:\\aaa.txt","r")) != 0)
    {
        cout << "file don't open" << "\n";
        return;
    }
    else
    {
        cout << "file open" << "\n";
    }
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.09.2008, 09:21
Здравствуйте! Я подобрал для вас темы с ответами на вопрос fopen() (C++):

fopen - C++
Добрый день! Мне нужно было сохранить данные в текстовый файл. Для открытия файла я использовал функцию fopen. Программа скомпилировалась,...

FOPEN не то открывает - C++
помогите у меня FOPEN открывает файл It is an example using fseek and ftell functions, а не my_file.txt #include int main(void) { ...

вопрос по fopen - C++
Вечер добрый. стандартно для открытия файла пользуюсь fopen, сейчас появилась задача открывать через переменную, например...

fopen и fdopen - C++
Помогите, пожалуйста, разобраться. Есть код скрипта, выводит картинку в браузере, скачал с инета: // Результат работы скрипта -...

Fopen в vs 2013 - C++
Привет! разбирался с фалами, и пришел к тупику. Пожалуйста, подскажите, что не так. я всего-то хотел попробовать создать и открыть файл. ...

Fopen не создает файл - C++
Перешел на Visual Studio 2013, столкнулся с проблемой: взят обычный код из интернета, а файл не создается (windows поиск не находит) ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
assu
22 / 22 / 1
Регистрация: 29.08.2008
Сообщений: 138
22.09.2008, 10:14 #2
C++
1
2
3
4
5
6
7
8
FILE * pFile;
pFile = fopen ("C:\\myfile.txt","w");
if (pFile!=NULL)
{
fputs ("fopen example",pFile);
fclose (pFile);
Form1->Caption="File was created";
}
вот так все работает..
prom1856
14 / 14 / 1
Регистрация: 22.09.2008
Сообщений: 46
22.09.2008, 11:41  [ТС] #3
Спасибо, конечно. Но хоть сам-то проверял? При компиляции выдает ошибки и требует fopen_s().
Lord_Voodoo
Супер-модератор
8584 / 2184 / 61
Регистрация: 07.03.2007
Сообщений: 10,885
Завершенные тесты: 1
22.09.2008, 12:04 #4
а ты хидеры нужные прописал и вообще в чем ты пишешь прогу?
prom1856
14 / 14 / 1
Регистрация: 22.09.2008
Сообщений: 46
22.09.2008, 12:18  [ТС] #5
Да вот два прописал: iostream и stdio.h. А что ещё какие нужны?
Компиляторы: Visual Studio 2005 и ещё в Экпрессе попробывал. Одинаково отрицательный результат.
Lord_Voodoo
Супер-модератор
8584 / 2184 / 61
Регистрация: 07.03.2007
Сообщений: 10,885
Завершенные тесты: 1
22.09.2008, 12:33 #6
так я чего-то не пойму, ну сть в студии метод fopen_s, так чем он вас не устраивает или он файл не открывает, я что-то никак не пойму, в чем проблема...
prom1856
14 / 14 / 1
Регистрация: 22.09.2008
Сообщений: 46
22.09.2008, 12:47  [ТС] #7
Что непонятного? Метод fopen_s() работает и меня вполне устраивает.
Метод fopen() не работает. И мне бы очень хотелось знать или я его (fopen()) неправомерно в указанной среде разработки использую или что-то ещё?
По крайней мере прямого запрета не нашел, хотя рекомендации на безопасность есть.
Vourhey
Почетный модератор
6478 / 2253 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
22.09.2008, 13:10 #8
prom1856, чувак, у тебя в опциях твоего проекта стоит "Treat warnings as errors". Сделай его "No".
Lord_Voodoo
Супер-модератор
8584 / 2184 / 61
Регистрация: 07.03.2007
Сообщений: 10,885
Завершенные тесты: 1
22.09.2008, 13:10 #9
есть подозрения, что в студии fopen лежит в другом хидере, например, надо хелп читать...
Vourhey
Почетный модератор
6478 / 2253 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
22.09.2008, 13:14 #10
Да не, это из-за опций проекта. Все там норм. Просто warning по безопасности распознается как ошибка из-за той опции, что я выше привел.

Добавлено через 2 минуты 0 секунд
Она, кстати, находится на ветке C/C++ -> General
prom1856
14 / 14 / 1
Регистрация: 22.09.2008
Сообщений: 46
22.09.2008, 15:05  [ТС] #11
Yourhey, тут было какое-то оскорбление

WooDooMan, покопаю в этом направлении, в любом случае спасибо.
Vourhey
Почетный модератор
6478 / 2253 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
22.09.2008, 15:24 #12
Цитата Сообщение от WooDooMan Посмотреть сообщение
есть подозрения, что в студии fopen лежит в другом хидере, например, надо хелп читать...
Это стандартный заголовочник. Он там всегда лежит (stdio). Если не там, то ошибка была бы не щ fopen_s, а о неизвестной функции. ИМХО.
Lord_Voodoo
Супер-модератор
8584 / 2184 / 61
Регистрация: 07.03.2007
Сообщений: 10,885
Завершенные тесты: 1
22.09.2008, 15:27 #13
а ошибки-то мы не видели, так что это была отфонарная версия, главная мысль - читаем хелп, там все написано, хоть и не по-русски))))
Vourhey
Почетный модератор
6478 / 2253 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
22.09.2008, 15:30 #14
Да я че...я ниче
Requirements
Function Required header Compatibility
fopen
<stdio.h>
ANSI, Windows 95, Windows 98, Windows 98 Second Edition, Windows Millennium Edition, Windows NT 4.0, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003
официальный хэлп мелкомягких.
prom1856
14 / 14 / 1
Регистрация: 22.09.2008
Сообщений: 46
22.09.2008, 16:13  [ТС] #15
Нашел ошибку, хотя ошибкой это назвать нельзя. Нюансы есть небольшие.
Привет супер-пупер.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.09.2008, 16:13
Привет! Вот еще темы с ответами:

Что-то не так с fopen - C++
Что компилятор хочить в fopen? Вот например что здесь не так? void WriteSum(double *pmatrix) { double **prow, *pnode; int k; ...

Выдается ошибка на fopen - C++
#include &lt;stdlib.h&gt; #include &lt;iostream&gt; #include &lt;stdio.h&gt; #include &quot;stdafx.h&quot; using namespace std; int main() { int...

Компилятор ругается на fopen - C++
#include&lt;iostream&gt; #include&lt;stdio.h&gt; #include &lt;string.h&gt; #define MAX 50 using namespace std; // Приоритет операций int...

fopen не открывает файл - C++
Файл существует, с нормальными атрибутами, не открыт... FILE *pFile = fopen(&quot;C:\\settings.txt&quot;, &quot;r&quot;); errno - 2 Почему файл не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
22.09.2008, 16:13
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru