Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.76/172: Рейтинг темы: голосов - 172, средняя оценка - 4.76
prom1856
14 / 14 / 1
Регистрация: 22.09.2008
Сообщений: 46
#1

fopen()

22.09.2008, 09:21. Просмотров 31083. Ответов 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";
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.09.2008, 09:21
Ответы с готовыми решениями:

fopen
Добрый день! Мне нужно было сохранить данные в текстовый файл. Для открытия...

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

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

Функция fopen
Здравствуйте. Я студент, изучаю язык программирования с++. У меня возникла...

Функция fopen
Добрый день правильно ли я думаю, что если в функции fopen поставив флаги w+b,...

19
assu
22 / 22 / 2
Регистрация: 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";
}
вот так все работает..
0
prom1856
14 / 14 / 1
Регистрация: 22.09.2008
Сообщений: 46
22.09.2008, 11:41  [ТС] #3
Спасибо, конечно. Но хоть сам-то проверял? При компиляции выдает ошибки и требует fopen_s().
0
Lord_Voodoo
Супер-модератор
8609 / 2235 / 133
Регистрация: 07.03.2007
Сообщений: 10,820
Завершенные тесты: 1
22.09.2008, 12:04 #4
а ты хидеры нужные прописал и вообще в чем ты пишешь прогу?
0
prom1856
14 / 14 / 1
Регистрация: 22.09.2008
Сообщений: 46
22.09.2008, 12:18  [ТС] #5
Да вот два прописал: iostream и stdio.h. А что ещё какие нужны?
Компиляторы: Visual Studio 2005 и ещё в Экпрессе попробывал. Одинаково отрицательный результат.
0
Lord_Voodoo
Супер-модератор
8609 / 2235 / 133
Регистрация: 07.03.2007
Сообщений: 10,820
Завершенные тесты: 1
22.09.2008, 12:33 #6
так я чего-то не пойму, ну сть в студии метод fopen_s, так чем он вас не устраивает или он файл не открывает, я что-то никак не пойму, в чем проблема...
0
prom1856
14 / 14 / 1
Регистрация: 22.09.2008
Сообщений: 46
22.09.2008, 12:47  [ТС] #7
Что непонятного? Метод fopen_s() работает и меня вполне устраивает.
Метод fopen() не работает. И мне бы очень хотелось знать или я его (fopen()) неправомерно в указанной среде разработки использую или что-то ещё?
По крайней мере прямого запрета не нашел, хотя рекомендации на безопасность есть.
0
Vourhey
Почетный модератор
6492 / 2266 / 185
Регистрация: 29.07.2006
Сообщений: 12,534
22.09.2008, 13:10 #8
prom1856, чувак, у тебя в опциях твоего проекта стоит "Treat warnings as errors". Сделай его "No".
0
Lord_Voodoo
Супер-модератор
8609 / 2235 / 133
Регистрация: 07.03.2007
Сообщений: 10,820
Завершенные тесты: 1
22.09.2008, 13:10 #9
есть подозрения, что в студии fopen лежит в другом хидере, например, надо хелп читать...
0
Vourhey
Почетный модератор
6492 / 2266 / 185
Регистрация: 29.07.2006
Сообщений: 12,534
22.09.2008, 13:14 #10
Да не, это из-за опций проекта. Все там норм. Просто warning по безопасности распознается как ошибка из-за той опции, что я выше привел.

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

WooDooMan, покопаю в этом направлении, в любом случае спасибо.
0
Vourhey
Почетный модератор
6492 / 2266 / 185
Регистрация: 29.07.2006
Сообщений: 12,534
22.09.2008, 15:24 #12
Цитата Сообщение от WooDooMan Посмотреть сообщение
есть подозрения, что в студии fopen лежит в другом хидере, например, надо хелп читать...
Это стандартный заголовочник. Он там всегда лежит (stdio). Если не там, то ошибка была бы не щ fopen_s, а о неизвестной функции. ИМХО.
0
Lord_Voodoo
Супер-модератор
8609 / 2235 / 133
Регистрация: 07.03.2007
Сообщений: 10,820
Завершенные тесты: 1
22.09.2008, 15:27 #13
а ошибки-то мы не видели, так что это была отфонарная версия, главная мысль - читаем хелп, там все написано, хоть и не по-русски))))
0
Vourhey
Почетный модератор
6492 / 2266 / 185
Регистрация: 29.07.2006
Сообщений: 12,534
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
официальный хэлп мелкомягких.
0
prom1856
14 / 14 / 1
Регистрация: 22.09.2008
Сообщений: 46
22.09.2008, 16:13  [ТС] #15
Нашел ошибку, хотя ошибкой это назвать нельзя. Нюансы есть небольшие.
Привет супер-пупер.
0
Lord_Voodoo
Супер-модератор
8609 / 2235 / 133
Регистрация: 07.03.2007
Сообщений: 10,820
Завершенные тесты: 1
22.09.2008, 16:14 #16
ну так поведай темному, что же было не так... век живи - век учись...
0
prom1856
14 / 14 / 1
Регистрация: 22.09.2008
Сообщений: 46
22.09.2008, 16:24  [ТС] #17
Темный это я, ведь написано было про safety. В свойствах Level поменял. Из-за такой фигни ещё и оскорбляют, мдя...
0
Lord_Voodoo
Супер-модератор
8609 / 2235 / 133
Регистрация: 07.03.2007
Сообщений: 10,820
Завершенные тесты: 1
22.09.2008, 16:26 #18
да никто тебя не оскорбляет, я говорил про темного себя...
0
qwone
9 / 9 / 2
Регистрация: 18.08.2008
Сообщений: 127
22.09.2008, 21:53 #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>
0
homaMVD
0 / 0 / 0
Регистрация: 07.11.2013
Сообщений: 1
10.11.2013, 19:03 #20
а где в русской студии опции проекта? не вижу
0
10.11.2013, 19:03
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.11.2013, 19:03

FOPEN не то открывает
помогите у меня FOPEN открывает файл It is an example using fseek and ftell...

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

fopen() - открыть с дозаписью
Здравствуйте, извините за нубовский вопрос. у меня следующая проблема: Есть...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

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