Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
4 / 3 / 2
Регистрация: 28.10.2014
Сообщений: 147
1

Как полю класса типа char* присвоить значение типа *char

12.04.2018, 23:38. Просмотров 698. Ответов 5
Метки нет (Все метки)

Проблема в строчке 46
(не пинайте сильно за формат кода и за говнокод)
Кликните здесь для просмотра всего текста

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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#include "stdafx.h" 
#include <iostream> 
#include <string>
#include <iomanip> 
#include <fstream>
#include <cstdlib>
#include <conio.h>
#include <stdio.h>
 
 
using namespace std;
 
class Spartak
{
public:
    char* player;
    int goals,assist;
};
 
 
 
int main(int argc, char* argv[]) 
{ 
    setlocale(LC_ALL, "Russian");
    int k,n,i=0;
    string str;
        char* BUF=new char[20];
    ofstream create;
    create.open("Spartak.txt",ios::out);
    cin>>k;
    Spartak *forwards=new Spartak [k];
 
    n=k*3;
    while(n){
        cin>>str;   
        create<<str<<endl;
        n--;
    }
     ifstream read("Spartak.txt", ios::in);
      while (read)
    {    
        read.getline(BUF,20);
      //cout<<BUF;
      if(i%3==0)
     forwards[i/3].player=BUF;// строка с проблемой (как правильно "скопировать" BUF в player)
if(i%3==1)
              forwards[i/3].goals=atoi(BUF);
                  if(i%3==2)
      forwards[i/3].assist=atoi(BUF);
      i++;
      
    }
for(int j=0;j<i/3;j++)
{
    cout<<forwards[j].player<<endl;
    cout<<forwards[j].goals<<endl;
    cout<<forwards[j].assist<<endl;
}
    system("pause");
    return(0);
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.04.2018, 23:38
Ответы с готовыми решениями:

Как исправить ошибку: Значение типа "const char *" нельзя присвоить сущности типа "char *"?
#include &lt;conio.h&gt; #include &lt;iostream&gt; using namespace std; struct Car_Specifications {...

Как присвоить значение одного из элементов массива типа char переменной типа int?
С++ начал буквально только что так что буду благодарен за терпение и понимание ) Сразу оговорюсь...

Ошибка: значение типа "const char*" нельзя присвоить сущности типа "char*"
Появилось в 17 студии, как это исправить?

Значение типа "const char" нельзя присвоить сущности типа "char*"
Добрый день. Разбираю классы и столкнулся вот с чем. В одной версии visual studio данный код...

5
nd2
3399 / 2781 / 1250
Регистрация: 29.01.2016
Сообщений: 9,423
13.04.2018, 00:27 2
Цитата Сообщение от yuriybolotin99 Посмотреть сообщение
// строка с проблемой (как правильно "скопировать" BUF в player)
Для начала, под player нужно память выделить (как под BUF), а для копирования Си-строк есть strcpy().
1
4 / 3 / 2
Регистрация: 28.10.2014
Сообщений: 147
13.04.2018, 00:43  [ТС] 3
Спасибо за подсказку
сделал
C++
1
2
3
 
forwards[i/3].player=new char[20];
      strcpy(forwards[i/3].player,BUF);}
и добавил #define _CRT_SECURE_NO_WARNINGS
чтобы не ругалась на strcpy()
но выкидывает
error C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\string.h(110): см. объявление "strcpy"
0
зомбяк
1411 / 1076 / 309
Регистрация: 14.05.2017
Сообщений: 3,518
13.04.2018, 00:45 4
Цитата Сообщение от yuriybolotin99 Посмотреть сообщение
и добавил #define _CRT_SECURE_NO_WARNINGS
добавил перед #include <iostream> или после?
1
4 / 3 / 2
Регистрация: 28.10.2014
Сообщений: 147
13.04.2018, 00:52  [ТС] 5
после
0
зомбяк
1411 / 1076 / 309
Регистрация: 14.05.2017
Сообщений: 3,518
13.04.2018, 02:20 6
а нужно ставить до
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.04.2018, 02:20

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Как присвоить переменной типа char значение скобки
Привет. Столкнулся с проблемой что не могу присвоють переменной типа char значение скобки (правой...

Аргумент типа (const char*) несовместим с параметром типа (char*). Как исправить?
#include &quot;Table.h&quot; #include &quot;Contour.h&quot; #include &quot;TwoShape.h&quot; #include &lt;iostream&gt; int...

Условие типа if( масив типа char[x] [y] != переменная типа char) не срабатывает
Создал функцию ChangeWay(). Все, кроме if(map !=ar) (обе переменные типа char) работает...

Не получается присвоить значение элементу массива указателей типа char *a[3]
В попытках разобраться с массивами, указателями, массивами указателей и т.п. написал вот такой код:...


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

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

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