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

fopen() - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 232, средняя оценка - 4.65
prom1856
14 / 14 / 1
Регистрация: 22.09.2008
Сообщений: 46
22.09.2008, 09:21     fopen() #1
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()
Посмотрите здесь:

вопрос по fopen C++
C++ fopen
C++ fopen не открывает файл
C++ FOPEN не то открывает
Что-то не так с fopen C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
assu
 Аватар для assu
22 / 22 / 1
Регистрация: 29.08.2008
Сообщений: 138
22.09.2008, 10:14     fopen() #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  [ТС]     fopen() #3
Спасибо, конечно. Но хоть сам-то проверял? При компиляции выдает ошибки и требует fopen_s().
Lord_Voodoo
Супер-модератор
 Аватар для Lord_Voodoo
8501 / 2168 / 61
Регистрация: 07.03.2007
Сообщений: 10,836
Завершенные тесты: 1
22.09.2008, 12:04     fopen() #4
а ты хидеры нужные прописал и вообще в чем ты пишешь прогу?
prom1856
14 / 14 / 1
Регистрация: 22.09.2008
Сообщений: 46
22.09.2008, 12:18  [ТС]     fopen() #5
Да вот два прописал: iostream и stdio.h. А что ещё какие нужны?
Компиляторы: Visual Studio 2005 и ещё в Экпрессе попробывал. Одинаково отрицательный результат.
Lord_Voodoo
Супер-модератор
 Аватар для Lord_Voodoo
8501 / 2168 / 61
Регистрация: 07.03.2007
Сообщений: 10,836
Завершенные тесты: 1
22.09.2008, 12:33     fopen() #6
так я чего-то не пойму, ну сть в студии метод fopen_s, так чем он вас не устраивает или он файл не открывает, я что-то никак не пойму, в чем проблема...
prom1856
14 / 14 / 1
Регистрация: 22.09.2008
Сообщений: 46
22.09.2008, 12:47  [ТС]     fopen() #7
Что непонятного? Метод fopen_s() работает и меня вполне устраивает.
Метод fopen() не работает. И мне бы очень хотелось знать или я его (fopen()) неправомерно в указанной среде разработки использую или что-то ещё?
По крайней мере прямого запрета не нашел, хотя рекомендации на безопасность есть.
Vourhey
Почетный модератор
6468 / 2243 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
22.09.2008, 13:10     fopen() #8
prom1856, чувак, у тебя в опциях твоего проекта стоит "Treat warnings as errors". Сделай его "No".
Lord_Voodoo
Супер-модератор
 Аватар для Lord_Voodoo
8501 / 2168 / 61
Регистрация: 07.03.2007
Сообщений: 10,836
Завершенные тесты: 1
22.09.2008, 13:10     fopen() #9
есть подозрения, что в студии fopen лежит в другом хидере, например, надо хелп читать...
Vourhey
Почетный модератор
6468 / 2243 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
22.09.2008, 13:14     fopen() #10
Да не, это из-за опций проекта. Все там норм. Просто warning по безопасности распознается как ошибка из-за той опции, что я выше привел.

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

WooDooMan, покопаю в этом направлении, в любом случае спасибо.
Vourhey
Почетный модератор
6468 / 2243 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
22.09.2008, 15:24     fopen() #12
Цитата Сообщение от WooDooMan Посмотреть сообщение
есть подозрения, что в студии fopen лежит в другом хидере, например, надо хелп читать...
Это стандартный заголовочник. Он там всегда лежит (stdio). Если не там, то ошибка была бы не щ fopen_s, а о неизвестной функции. ИМХО.
Lord_Voodoo
Супер-модератор
 Аватар для Lord_Voodoo
8501 / 2168 / 61
Регистрация: 07.03.2007
Сообщений: 10,836
Завершенные тесты: 1
22.09.2008, 15:27     fopen() #13
а ошибки-то мы не видели, так что это была отфонарная версия, главная мысль - читаем хелп, там все написано, хоть и не по-русски))))
Vourhey
Почетный модератор
6468 / 2243 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
22.09.2008, 15:30     fopen() #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  [ТС]     fopen() #15
Нашел ошибку, хотя ошибкой это назвать нельзя. Нюансы есть небольшие.
Привет супер-пупер.
Lord_Voodoo
Супер-модератор
 Аватар для Lord_Voodoo
8501 / 2168 / 61
Регистрация: 07.03.2007
Сообщений: 10,836
Завершенные тесты: 1
22.09.2008, 16:14     fopen() #16
ну так поведай темному, что же было не так... век живи - век учись...
prom1856
14 / 14 / 1
Регистрация: 22.09.2008
Сообщений: 46
22.09.2008, 16:24  [ТС]     fopen() #17
Темный это я, ведь написано было про safety. В свойствах Level поменял. Из-за такой фигни ещё и оскорбляют, мдя...
Lord_Voodoo
Супер-модератор
 Аватар для Lord_Voodoo
8501 / 2168 / 61
Регистрация: 07.03.2007
Сообщений: 10,836
Завершенные тесты: 1
22.09.2008, 16:26     fopen() #18
да никто тебя не оскорбляет, я говорил про темного себя...
qwone
8 / 8 / 1
Регистрация: 18.08.2008
Сообщений: 129
22.09.2008, 21:53     fopen() #19
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
# include <iostream> 
# include <fstream>
using namespace std;
struct Notes
{
 char Name[60];      // Фамилия, имя, отчество
 char Pol;                // Пол
 char Dat[9];           //  Дата рождения
 char Phone[9];      // Телефон
 char Adr[60];         // Адрес 
 int Kod;                 // Код
};
 
 
int main(){
    char * fn="a.TXT";
    ofstream ofile(fn, ios::out| ios::binary);
    if(!ofile){cout <<"files don't open "<<endl;return 1;}
    Notes Note1;
    char *p="gooo";
    int i=0;
    do{Note1.Name[i]=*p;i++;p++;}
    while (*p!='\0');
    Note1.Kod=65;
    
    ofile.write((char*)& Note1, sizeof(Notes));
    ofile.close();
 
    return 0;
}
это вариант работает в визуал
только там надо
# include <fstream>
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.11.2013, 19:03     fopen()
Еще ссылки по теме:

fopen и fdopen C++
Fopen в vs 2013 C++
Fopen - unsafe function C++

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

Или воспользуйтесь поиском по форуму:
homaMVD
Сообщений: n/a
10.11.2013, 19:03     fopen() #20
а где в русской студии опции проекта? не вижу
Yandex
Объявления
10.11.2013, 19:03     fopen()
Ответ Создать тему
Опции темы

Текущее время: 16:43. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru