Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.70/226: Рейтинг темы: голосов - 226, средняя оценка - 4.70
c1st
0 / 0 / 0
Регистрация: 03.02.2012
Сообщений: 14
1

Запись строки char в массив char

15.02.2012, 11:56. Просмотров 42298. Ответов 7
Метки нет (Все метки)

Глупый вопрос, но что поделать, многое забыл...
Хочу записть строку типа char в массив строк типа char, но выдает ошибку что "невозможно преобразовать "char [5]" в "char"", как это поправить ?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
using namespace std;
int main()
{          
           char str[5];
    char massiv[3];
    for(int i = 0; i < 3; i++)
    {
        cout << "Строка: ";
        cin >> str;
        massiv[i] = str;
           }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.02.2012, 11:56
Ответы с готовыми решениями:

Что означает такая запись char *smt=new char[1]?
что означает такая запись char *smt=new char?

Запись в *char элемента из массива *char[i]
Есть динамический массив, например char *drives = {&quot;A:&quot;, &quot;B:&quot;, &quot;C:&quot;, &quot;D:&quot;,...

Различное поведение функции которая копирует строки с char* t и char t[]
столкнулся с ситуацией которую не могу объяснить пишем функцию которая...

Строки: почему компилятор пишет , что переменная типа char несовместима с const char?
char pass; int password( int d) { int m; char p; cout &lt;&lt; &quot;Введите...

Преобразование char в char* или разделить на две строки
Пытаюсь сделать программу под linux. Возникла проблема, описанная в заголовке....

7
CheshireCat
Эксперт С++
2912 / 1261 / 114
Регистрация: 27.05.2008
Сообщений: 3,464
15.02.2012, 12:01 2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
        char str[5];
        char massiv[3][5];
        for(int i = 0; i < 3; i++)
        {
            cout << "Строка: ";
            cin >> str;
            strcpy(massiv[i], str);
        }
}
1
Dekio
Фрилансер
Эксперт С++
5838 / 1219 / 499
Регистрация: 23.11.2010
Сообщений: 3,377
Записей в блоге: 1
15.02.2012, 12:03 3
C
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <stdio.h>
#include <conio.h>
#include <string.h>
 
int main(void)
{
    char arr[3][128], str[128];
    gets(str);
    strcpy(arr[0], str);
    puts(arr[0]);
    getch();
    return 0;
}
1
c1st
0 / 0 / 0
Регистрация: 03.02.2012
Сообщений: 14
15.02.2012, 12:11  [ТС] 4
Цитата Сообщение от CheshireCat Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
        char str[5];
        char massiv[3][5];
        for(int i = 0; i < 3; i++)
        {
            cout << "Строка: ";
            cin >> str;
            strcpy(massiv[i], str);
        }
}
а вот если сделать так, то ... ?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
using namespace std;
int main()
{
    char str1[5];
    char str2[5];
    char massiv[3][2];
    for(int i = 0; i < 3; i++)
    {
        int j = 0;
        cout << "Str1: ";
        cin >> str1;
        massiv[i][0] = str1;
        j++;
        cout << "Str2: ";
        cin >> str2;
        massiv[i][1] = str2;        
    }
}
0
Dekio
Фрилансер
Эксперт С++
5838 / 1219 / 499
Регистрация: 23.11.2010
Сообщений: 3,377
Записей в блоге: 1
15.02.2012, 12:13 5
Цитата Сообщение от c1st Посмотреть сообщение
massiv[i][0] = str1;
Цитата Сообщение от Dekio Посмотреть сообщение
strcpy(arr[0], str);
читать умеете?
0
c1st
0 / 0 / 0
Регистрация: 03.02.2012
Сообщений: 14
15.02.2012, 17:32  [ТС] 6
Цитата Сообщение от Dekio Посмотреть сообщение
читать умеете?
strcpy(arr[0], str);
да, это работает напримере этого:
prim1
prim2
prim3
а как тогда сделать так:
prim1 prim2
prim3 prim4
prim5 prim5
т.е. имеется массив типа char, в котором храянятся строки типа char
вот я написал небольшой кусочек но так там ошибка, когда я записываю в массив
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
using namespace std;
int main()
{
        char str1[5];
        char str2[5];
        char massiv[3][2];
        for(int i = 0; i < 3; i++)
        {
                int j = 0;
                cout << "Str1: ";
                cin >> str1;
                massiv[i][0] = str1;
                j++;
                cout << "Str2: ";
                cin >> str2;
                massiv[i][1] = str2;            
        }
}
0
Alex31115
0 / 0 / 0
Регистрация: 03.11.2015
Сообщений: 41
04.06.2016, 04:19 7
А если у меня массив динамически созданный?
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
        char *Mas = new char[l];
    int i = 0;
    f.open(filename, ios_base::in);
    while (filename)
    {
        
        f.getline(str,4);
                
        Mas[i] = str;
        i++;
    }
0
W-A-F-E-R
2 / 2 / 0
Регистрация: 03.12.2017
Сообщений: 17
30.06.2018, 16:06 8
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
#include <iostream>
#define _CRT_SECURE_NO_WARNINGS
 
using namespace std;
void copy(char*a, char*b, char *c , char *d, int &num) {
 
    for (int i = 0; i < strlen(a); i++) {
        d[num] = a[i];
        num++;
    }
    for (int i = 0; i < strlen(b); i++) {
        d[num] = b[i];
        num++;
    }
    for (int i = 0; i < strlen(c); i++) {
        d[num] = c[i];
        num++;
    }
    d[num] = '\0';
}
int main()
{
    setlocale(LC_ALL, "rus");
    char a[20];
    char b[20];
    char c[20];
    char d[60];
    int num = 0;
    gets_s(a);
    gets_s(b);
    gets_s(c);
    copy(a, b, c , d ,  num);
    puts(d);
 
    system("pause");
}
Скопирует все что ты введешь в char массивы( a , b , c ) в массив d
0
30.06.2018, 16:06
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.06.2018, 16:06

Строка: чем отличается строки string, char, char*?
Помогите разобраться,совсем плохо идёт,чем отличается строки string,char,char*...

Char unsigned char signed char длинна Кааак
Здравствуйте. char l = {0,0}; l = 0xff; Почему, меня, компилятор...

Запись элемента строки в char
Никак не получается записать элемент строки в переменную char. #include...


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

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

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