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

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

Войти
Регистрация
Восстановить пароль
 
Mugeens
0 / 0 / 0
Регистрация: 16.01.2014
Сообщений: 17
#1

fscanf: невозможно преобразовать параметр 1 из 'char [40]' в 'FILE *' - C++

16.01.2014, 23:23. Просмотров 633. Ответов 6
Метки нет (Все метки)

Организовываю файл данных со структурой, и выдает такую ошибку
C++
1
еrror C2664: fscanf: невозможно преобразовать параметр 1 из 'char [40]' в 'FILE *' Типы, на которые указывают указатели, не связаны; для преобразования требуется reinterpret_cast, приведение в стиле С или приведение в стиле функции
Помогите пожалуйста. Очень нужно.
Вот сам код:
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
31
32
33
34
35
36
37
38
#include "stdafx.h"
#include <stdio.h>
 
#define N 40
 
typedef struct tag_tovar{
    char name[N];
    char type[N];
    char sort[N];
    int quantity;
    double cost;
}ttovar;
 
 
int main(void)
{
    char fileName[N];
    FILE *out;
    ttovar s;
    int a, n=0;
    printf("Nime of file: ");
    fgets(fileName, N, stdin);
    out=fopen(fileName, "w");
    do{
        printf("Name of product: ");
        fscanf(s.name, N, stdin);
        printf("\nUnits mesure of product: ");
        fscanf(s.type, N, stdin);
        printf("\nSort of product: ");
        fscanf(s.sort, N, stdin);
        printf("\nNumber and price of product: ");
        scanf("%d %lf", &(s.quantity), &(s.cost));
        printf("\nContinue (1-yes, 0-no)? ");
        scanf("%d", &a);
    }while(a==0);
    fclose(out);
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.01.2014, 23:23
Здравствуйте! Я подобрал для вас темы с ответами на вопрос fscanf: невозможно преобразовать параметр 1 из 'char [40]' в 'FILE *' (C++):

Error C2664: sprintf: невозможно преобразовать параметр 1 из 'const char *' в 'char *' - C++
error C2664: sprintf: невозможно преобразовать параметр 1 из 'const char *' в 'char *' void crpost(const statep &amp;struc1) { ...

Невозможно преобразовать параметр 1 из 'char' в 'const char *' - C++
Дана задача: Задана последовательность, состоящая только из символов ‘&gt;’, ‘&lt;’ и ‘-‘. Требуется найти количество стрел, которые спрятаны...

Невозможно преобразовать параметр 1 из 'const char [15]' в 'LPCWSTR' - C++
с сайта скачала прогу которая должна рисовать сферу, но при компилировании выходит ошибка:error C2664: auxInitWindowW: невозможно...

Невозможно преобразовать параметр из int в const char - C++
Приветствую, помогите пожалуйста исправить следующую ошибку: printf: невозможно преобразовать параметр 1 из &quot;int&quot; в &quot;const char *&quot; Хотя...

Fopen: невозможно преобразовать параметр 1 из 'LPWSTR' в 'const char *' - C++
#include &quot;stdafx.h&quot; #include &lt;windows.h&gt; #include&lt;cstdio&gt; #include&lt;io.h&gt; int APIENTRY WinMain(HINSTANCE hInst,HINSTANCE...

Ошибка 6 error C2664: strtok: невозможно преобразовать параметр 1 из "const char *" в "char *" - C++
string s = &quot;555 44 55 66&quot;;//размер строки заранее неизвестен char* p = strtok(s.c_str(), ' '); не нравится такое...

6
knf
16 / 16 / 2
Регистрация: 18.09.2012
Сообщений: 184
16.01.2014, 23:24 #2
Mugeens, Может код скинешь?)
0
Mugeens
0 / 0 / 0
Регистрация: 16.01.2014
Сообщений: 17
16.01.2014, 23:26  [ТС] #3
Зделано. Ошибки в поля 26, 28, 30.
0
skident
23 / 23 / 2
Регистрация: 11.12.2011
Сообщений: 300
16.01.2014, 23:30 #4
первым параметром fscanf должен быть хандл открытого файла.

http://lord-n.narod.ru/download/book.../13/fscanf.htm
1
cooller
565 / 533 / 120
Регистрация: 25.12.2013
Сообщений: 1,456
16.01.2014, 23:30 #5
Mugeens,
Цитата Сообщение от Mugeens Посмотреть сообщение
fscanf: невозможно преобразовать параметр 1 из 'char [40]' в 'FILE *'
Все очевидно же написано. Первый параметр должен быть типа FILE, а не char[]
1
alsav22
5425 / 4820 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
16.01.2014, 23:31 #6
C++
1
fscanf(stdin, "%s", s.name);
1
Mugeens
0 / 0 / 0
Регистрация: 16.01.2014
Сообщений: 17
16.01.2014, 23:35  [ТС] #7
Всем спасибо, ошибка пропала)) Хотя появилась новая проблема, но я попробую уже сам решить))
0
16.01.2014, 23:35
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.01.2014, 23:35
Привет! Вот еще темы с ответами:

error C2664: strcmp: невозможно преобразовать параметр 1 из "char (*)[20]" в "const char *" - C++
for(int i = 0; i&lt; 5; i++) { wr_struc (list); if (strcmp(&amp;list.Sostav,osn_sostav)==0 &amp;&amp; strcmp(&amp;list.MestoVkomande,attack)==0...

Невозможно преобразовать параметр 2 из "char" в "const char *" - C++
Ошибка strcpy: невозможно преобразовать параметр 2 из &quot;char&quot; в &quot;const char *&quot; //удаления из первой строки всех символов, встречающихся...

невозможно преобразовать параметр 1 из "const char [8]" в "LPCWSTR" - C++
msoftcon.h //msoftcon.h //declarations for Lafore's console graphics functions //uses Window's console functions #ifndef...

Error C2440 невозможно преобразовать char в char - C++
двунаправленный список помогите разобраться с ошибкой #include &quot;stdafx.h&quot; #include &lt;iostream&gt; using namespace std; #include...


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

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

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