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

Cannot convert - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 22, средняя оценка - 4.95
S@nchezzz
 Аватар для S@nchezzz
3 / 3 / 0
Регистрация: 17.12.2008
Сообщений: 51
11.03.2010, 14:34     Cannot convert #1
Прошу прощения за столь ламерский вопрос. При попытке запустить прогу вылетает сообщение:
[C++ Error] Unit1.cpp(15): E2034 Cannot convert 'char *' to 'char'
[C++ Error] Unit1.cpp(16): E2034 Cannot convert 'FILE *' to 'FILE'
[C++ Error] Unit1.cpp(17): E2034 Cannot convert 'int' to 'const void *'
[C++ Error] Unit1.cpp(17): E2342 Type mismatch in parameter '__ptr' (wanted 'const void *', got 'char')
[C++ Error] Unit1.cpp(17): E2034 Cannot convert 'FILE' to 'FILE *'
[C++ Error] Unit1.cpp(17): E2342 Type mismatch in parameter '__stream' (wanted 'FILE *', got 'FILE')
[C++ Error] Unit1.cpp(18): E2034 Cannot convert 'FILE' to 'FILE *'
[C++ Error] Unit1.cpp(18): E2342 Type mismatch in parameter '__stream' (wanted 'FILE *', got 'FILE')
[C++ Error] Unit1.cpp(20): E2034 Cannot convert 'FILE *' to 'FILE'
[C++ Error] Unit1.cpp(21): E2034 Cannot convert 'int' to 'void *'
[C++ Error] Unit1.cpp(21): E2342 Type mismatch in parameter '__ptr' (wanted 'void *', got 'char')
[C++ Error] Unit1.cpp(21): E2034 Cannot convert 'FILE' to 'FILE *'
[C++ Error] Unit1.cpp(21): E2342 Type mismatch in parameter '__stream' (wanted 'FILE *', got 'FILE')
[C++ Error] Unit1.cpp(22): E2034 Cannot convert 'FILE' to 'FILE *'
[C++ Error] Unit1.cpp(22): E2342 Type mismatch in parameter '__stream' (wanted 'FILE *', got 'FILE')
[C++ Warning] Unit1.cpp(25): W8004 'f' is assigned a value that is never used
Вот код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream.h>
#include <stdio.h>
#include <windows.h>
#pragma hdrstop
#pragma argsused
 
int main(int argc, char* argv[])
{
        char a;
        a = "text";
        FILE *f = fopen("file.txt", "w+");
        fwrite(a, char(a), 1, *f);
        fclose(*f);
 
        *f = fopen("file.txt", "r");
        fread(a, char(a), 1, *f);
        fclose(*f);
        system("pause");
        return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.03.2010, 14:34     Cannot convert
Посмотрите здесь:

C++ Convert C++ TO C or how Add Dll to C
C++ Ошибка: cannot convert parameter
C++ Cd key convert
C++ cannot convert parameter 1 from
C++ cannot convert parametr
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
oxotnik
 Аватар для oxotnik
1584 / 1061 / 33
Регистрация: 21.08.2008
Сообщений: 4,545
Записей в блоге: 1
11.03.2010, 14:38     Cannot convert #2
C++
1
char *a = "text";
S@nchezzz
 Аватар для S@nchezzz
3 / 3 / 0
Регистрация: 17.12.2008
Сообщений: 51
11.03.2010, 15:02  [ТС]     Cannot convert #3
Исправил проблему дав юзеру самому определить значение переменной (cin >> a
Теперь столкнулся с другой проблемой. Записывает только 1 символ. Вот исправленый код:
C++
1
2
3
4
5
6
char a;
        cout << "Enter a:";
        cin >> a;
        FILE *file = fopen("file.txt", "w+");
        fwrite(&a, sizeof(a), 1, file);
        fclose(file);
insideone
Модератор
Автор FAQ
 Аватар для insideone
3619 / 897 / 47
Регистрация: 10.01.2010
Сообщений: 2,420
11.03.2010, 17:43     Cannot convert #4
Цитата Сообщение от S@nchezzz Посмотреть сообщение
Записывает только 1 символ
Так char a; и есть 1 символ
Вот так будет лучше
C++
1
2
3
4
5
6
7
8
9
10
int main()
{
    char a[10];
    cout << "Enter a:";
    cin >> a;
    FILE *file = fopen("file.txt", "w+");
    fwrite(&a, strlen(a), 1, file);
    fclose(file);
return 0;
}
brine38
1 / 1 / 1
Регистрация: 09.04.2015
Сообщений: 16
07.06.2015, 07:15     Cannot convert #5
Цитата Сообщение от insideone Посмотреть сообщение
FILE *file = f.open("file.txt", "w+");
* * f.write(&a, strlen(a), 1, file);
* * f.close(file);
Разве точку не надо ставить?!? 0_0
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11800 / 6779 / 765
Регистрация: 27.09.2012
Сообщений: 16,829
Записей в блоге: 2
Завершенные тесты: 1
07.06.2015, 07:27     Cannot convert #6
brine38, какие точки? Это Си'шные функции.

P.S. некропост
brine38
1 / 1 / 1
Регистрация: 09.04.2015
Сообщений: 16
07.06.2015, 12:42     Cannot convert #7
Croessmah, Вы хотите сказать, что несмотря ни на что здесь не нужны точки?
"Форум программистов > Форум C++ > Форум С++ для начинающих"
Рыжий Лис
Просто Лис
 Аватар для Рыжий Лис
209 / 164 / 44
Регистрация: 17.05.2012
Сообщений: 611
Записей в блоге: 4
07.06.2015, 13:01     Cannot convert #8
C++
1
2
3
FILE *file = fopen("file.txt", "w+");
fwrite(&a, strlen(a), 1, file);
fclose(file);
C++
1
2
3
4
fstream file;
file.open("file.txt", ios::out);
file << a;
file.close();
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.06.2015, 14:10     Cannot convert
Еще ссылки по теме:

error: cannot convert to in assigment C++
C++ convert
Cannot convert 'void' to 'bool' C++

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

Или воспользуйтесь поиском по форуму:
DrOffset
6416 / 3790 / 876
Регистрация: 30.01.2014
Сообщений: 6,577
07.06.2015, 14:10     Cannot convert #9
Цитата Сообщение от brine38 Посмотреть сообщение
"Форум программистов > Форум C++ > Форум С++ для начинающих"
С++ позволяет работать в той парадигме, которая нужна программисту. Хочешь писать на С++ как на С - пиши, язык не будет тебе препятствовать (разве что добавится более строгая типизация).
Поэтому стандартная библиотека С полностью доступна для использования в С++.
Yandex
Объявления
07.06.2015, 14:10     Cannot convert
Ответ Создать тему
Опции темы

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