Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
Sh@dow777
16 / 16 / 3
Регистрация: 10.12.2013
Сообщений: 690
#1

Const char несовместим с параметром типа FILE - C++

24.05.2014, 10:20. Просмотров 667. Ответов 14
Метки нет (Все метки)

Привет всем. У меня возникла проблема. Пишу программу, связанную с файлами. Вот первый отрывочек проги.
C++
1
2
3
4
5
6
7
#include <stdio.h>
 
int main()
{
    int n, m;
    fopen("rect.dat", "w");
    fscanf("%d %d", &n,&m);
Мне подчеркивает
C++
1
"%d %d"
и пишет "const char несовместим с параметром типа FILE". Какой const char, если у меня везде int? Извините, что пишу не в раздел "C", так как здесь быстрее ответят. Заранее спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.05.2014, 10:20
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Const char несовместим с параметром типа FILE (C++):

"Аргумент типа char несовместим с параметром типа const char" - C++
Программа должна перевести все символы до * в число,но что то пошло не так. P.S прошу не ругать. #include &lt;stdio.h&gt; #include...

Аргумент типа "unsigned char*" несовместим с параметром типа "const char*" - C++
int f(unsigned char s, unsigned char q) { N = strlen(s); //Ошибка тут... M = strlen(q); //...и тут Как исправить?

Аргумент типа "const char*" несовместим с параметром типа "LPCWSTR" - C++
хочу запустить paint с visual studio но выдает ошибку под словами open, filename, строка 6#include &lt;iostream&gt; #include &lt;windows.h&gt; ...

Аргумент типа char (*)[1000] несовместим с параметром типа char** - C++
Здравствуйте! Есть вот такая структура: #define max 1000 struct expr { char s; int index; };

Аргумент типа "HDC" несовместим с параметром типа const PAINTSTRUCT - C++
#include &lt;Windows.h&gt; int main(void) { PAINTSTRUCT ps; HDC hdc = BeginPaint(hwnd, &amp;ps); HPEN p1, p2, p3, p4, p0; p1 =...

Ошибка "аргумент типа char несовместим с параметром типа char*" - C++
#include &lt;iostream&gt; using namespace std; const int N=4; //размер очереди struct Queue { int data; //массив данных char...

14
Убежденный
Ушел с форума
Эксперт С++
15937 / 7247 / 1140
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
Завершенные тесты: 1
24.05.2014, 10:25 #2
fscanf (C++ Reference)
http://www.cplusplus.com/reference/cstdio/fscanf/

Посмотрите, что нужно передавать первым аргументом fsanf.
0
ValeryS
Модератор
7006 / 5344 / 527
Регистрация: 14.02.2011
Сообщений: 18,037
24.05.2014, 10:37 #3
вот на русском
http://lord-n.narod.ru/download/book.../13/fscanf.htm
но даже если поправишь параметры
то ничего хорошего не выйдет
открываешь файл для записи и пытаешься из него считать
0
Sh@dow777
16 / 16 / 3
Регистрация: 10.12.2013
Сообщений: 690
24.05.2014, 11:10  [ТС] #4
ValeryS, мне нужно создать 2 файла: входной и выходной. Во входной основное в проге, а в выходной. Я что то неверно делаю? Я просто первый раз с файлами столкнулся. Я пока создал входной файл.
0
ValeryS
Модератор
7006 / 5344 / 527
Регистрация: 14.02.2011
Сообщений: 18,037
24.05.2014, 11:15 #5
Sh@dow777,
ничего не понял
Цитата Сообщение от Sh@dow777 Посмотреть сообщение
Я просто первый раз с файлами столкнулся.
почитай хотя бы это для начала
http://lord-n.narod.ru/download/book...po_C/09/09.htm
0
Sh@dow777
16 / 16 / 3
Регистрация: 10.12.2013
Сообщений: 690
24.05.2014, 13:16  [ТС] #6
ValeryS, еще не дописанная программа. Просто хотел посмотреть, напечатается ли массив. вот код.
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
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
 
int main()
{
    int n, m,i,j;
    FILE *cfPtr;
 
    cfPtr = fopen("rect.dat", "w");
    fscanf(cfPtr,"%d %d", &n,&m);
 
    int **a = new int *[n];
    for(i = 0; i < n; i++)
        a[i] = new int [m];
    for(i = 0;i < n;i++){
        for(j = 0; j < m;j++)
            fprintf(cfPtr,"%d ",a[i][j]=rand() % 1);
    }
    fclose(cfPtr);
 
    getch();
 
    return 0;
}
Выдает ошибку при компиляции. В чем проблема?
0
ValeryS
Модератор
7006 / 5344 / 527
Регистрация: 14.02.2011
Сообщений: 18,037
24.05.2014, 13:26 #7
Цитата Сообщение от Sh@dow777 Посмотреть сообщение
Выдает ошибку при компиляции. В чем проблема?
ошибку покажи

Цитата Сообщение от Sh@dow777 Посмотреть сообщение
cfPtr = fopen("rect.dat", "w");
* * fscanf(cfPtr,"%d %d", &n,&m);
еще раз
ты открываешь файл для записи ( "w") т.е в него можно только записывать
а ты хочешь из него прочитать(fscanf)
тебе нужно открыть файл для чтения "r"

Добавлено через 1 минуту
Цитата Сообщение от Sh@dow777 Посмотреть сообщение
fprintf(cfPtr,"%d ",a[i][j]=rand() % 1);
а здесь ты пишешь в тот же файл
нужно открыть(создать) другой файл

Добавлено через 1 минуту
Цитата Сообщение от Sh@dow777 Посмотреть сообщение
=rand() % 1
какой может быть остаток от деления на 1???
все время 0
может ты хотел 0 1 тогда %2
0
slayster
5 / 5 / 1
Регистрация: 25.03.2014
Сообщений: 20
24.05.2014, 13:32 #8
Цитата Сообщение от ValeryS Посмотреть сообщение
а здесь ты пишешь в тот же файл
нужно открыть(создать) другой файл
режим открытия "r+" не поможет в данной ситуации?
0
Sh@dow777
16 / 16 / 3
Регистрация: 10.12.2013
Сообщений: 690
24.05.2014, 13:49  [ТС] #9
ValeryS, Вот исправил как вы сказали.
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
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
 
int main()
{
    int n, m,i,j;
    FILE *cfPtr;
 
    cfPtr = fopen("rect.dat", "r+");
    fscanf(cfPtr,"%d %d", &n,&m);
 
    int **a = new int *[n];
    for(i = 0; i < n; i++)
        a[i] = new int [m];
    for(i = 0;i < n;i++){
        for(j = 0; j < m;j++)
            fprintf(cfPtr,"%d ",a[i][j]=rand() % 2);
    }
    fclose(cfPtr);
 
    getch();
 
    return 0;
}
Ошибка: Debug Error! Invalid allocation size.
0
alsav22
5437 / 4832 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
24.05.2014, 13:52 #10
Октрытие файла для чтения всегда проверять нужно.
0
Sh@dow777
16 / 16 / 3
Регистрация: 10.12.2013
Сообщений: 690
24.05.2014, 13:58  [ТС] #11
Вот сама задача, собственно.
0
Миниатюры
Const char несовместим с параметром типа FILE  
Sh@dow777
16 / 16 / 3
Регистрация: 10.12.2013
Сообщений: 690
24.05.2014, 15:42  [ТС] #12
Люди, вопрос еще в силе. Как решать подобные задачи? Нужно создавать 2 файла?
0
ValeryS
Модератор
7006 / 5344 / 527
Регистрация: 14.02.2011
Сообщений: 18,037
24.05.2014, 16:16 #13
Цитата Сообщение от Sh@dow777 Посмотреть сообщение
Нужно создавать 2 файла?
так перечитай свое условие

rect.dat и rect.sol
это все таки два разных файла
0
alsav22
5437 / 4832 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
24.05.2014, 16:40 #14
Цитата Сообщение от Sh@dow777 Посмотреть сообщение
Нужно создавать 2 файла?
Для начала:
Цитата Сообщение от alsav22 Посмотреть сообщение
Октрытие файла для чтения всегда проверять нужно.
0
Sh@dow777
16 / 16 / 3
Регистрация: 10.12.2013
Сообщений: 690
24.05.2014, 18:49  [ТС] #15
ValeryS, извините за то, что, возможно, я вам надоел. Я просто хочу до конца разобраться. То есть первый файл нужно открывать в режиме записи "w", а второй в режиме чтения "r"?

Добавлено через 17 минут
Может я прошу много, но не могли бы вы мне показать на примере этой задачи, чтобы я все понял и решал дальше задачи сам. Просто я по особым обстоятельствам учусь сам на дому и не хожу в универ, поэтому мне разобраться труднее. А сдать задачи нужно уже на этой неделе. Если вам не трудно, покажите как решить эту задачу. Заранее спасибо.

Добавлено через 1 час 45 минут
Не люблю просить, но, пожалуйста, помогите с этой задачей. Очень нужно. Осталось решить несколько задач. Это одна из них. С остальными я попробую разобраться. Я просто раньше не сталкивался с файлами.
0
24.05.2014, 18:49
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.05.2014, 18:49
Привет! Вот еще темы с ответами:

Аргумент типа char** не совместим с параметром типа const char* - C++
Программа должна позволять заносить в структуру данные и выводить на экран информацию о поездах, следующих до определенной станции: ...

Аргумент типа WCHAR* не совместим с параметром типа const char* - C++
Как исправить косяк? VS12 ругаетсЯ #include &lt;windows.h&gt; #include &lt;stdlib.h&gt; #include &lt;stdio.h&gt; #include &lt;string.h&gt; #include...

Ошибка аргумент типа "char" несовместим с параметром типа "LPCSTR" - C++
char result; result=printf(&quot;%d %d&quot;, &quot;test.php?id=&quot;,id); HINTERNET hHttpRequest = HttpOpenRequest( hHttpSession, &quot;GET&quot;, result,...

Аргумент типа "char *" несовместим с параметром типа "LPCWSTR" - C++
Что такое и с чем его едят 1 IntelliSense: аргумент типа &quot;char *&quot; несовместим с параметром типа...


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

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

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