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

Как разбить строку - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Массив строк как массив указателей на массивы чаров http://www.cyberforum.ru/cpp-beginners/thread730307.html
Я всё правильно сделал? char* Files; Files = "AHEAD"; Files = "LEFT"; Files = "RIGHT"; Files = NULL; int searchFile() {
C++ Как удалить строку Как удалить строку например 12-ую. Какая функция удаляет? :) http://www.cyberforum.ru/cpp-beginners/thread730297.html
C++ классы, указатель на массив объектов производного класса)
Есть иерархия классов (два базовых и три производных) Требуется определить указатель на массив из N объектов производного класса(Obrobka) и добавить функцию для увеличения и уменьшения кол-ва объектов (допустим был массив из 10 объектов - а с помощью функции увеличь до 11) Все объекты в массиве должны быть разные. Прошу помочь Код ниже #include <iostream> #include <string> #include...
C++ Ошибка в функции
Привожу код: // создаёт новую строку, добавляя текущую // строку к rhs String String::operator+(const Srting& rhs) { unsigned short totalLen = itsLen + rhs.GetLen(); String temp(totalLen); unsigned short i; for (i= 0; i<itsLen; i++) temp = itsString;
C++ Помощь с кодом(не доделано) http://www.cyberforum.ru/cpp-beginners/thread730261.html
Здравствуйте, имеется задание: В одномерном массиве, состоящем из n-вещественных элементов, вычислить: • Максимальный по модулю элемент массива; • Преобразовать массив таким образом, чтобы элементы, равные нулю, располагались после всех остальных. Код: #include <iostream> #include <math.h> using namespace std; double Max(double * arr, int n);
C++ Дана функция и по ней нужно создать матрицу от минимально х и до максимального х Дана функция и по ней нужно создать матрицу от минимально х и до максимального х. во вложенном файле задание. нужно сделать под 1 вариант, есть 6ой вот пример : #include <conio.h> #include <malloc.h> #include <stdlib.h> подробнее

Показать сообщение отдельно
Entrery
0 / 0 / 0
Регистрация: 13.12.2012
Сообщений: 3
13.12.2012, 18:53  [ТС]     Как разбить строку
Цитата Сообщение от yuron_477 Посмотреть сообщение
Я думаю strtok для вас подойдет: http://www.cplusplus.com/reference/cstring/strtok/
Она подошла, но у меня никак получается организовать с ней ввод.

В этом примере все хорошо работает (с готовой строкой):
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
//---------------------------------------------------------------------------
 
#include <vcl.h>
#include <conio.h>
#include <stdio.h>
#include <iostream.h>
#include <cstring.h>
using std::cin;
#pragma hdrstop
 
//---------------------------------------------------------------------------
 
#pragma argsused
int main(int argc, char* argv[])
{
char *string = "a string,of, ,tokens";
char *token;
token = strtok(string,",");
printf ("%s\n",token);
getch();
}
//---------------------------------------------------------------------------

Когда же пытаюсь сделать ввести ее, то возникает ошибка:
Кликните здесь для просмотра всего текста
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
//---------------------------------------------------------------------------
 
#include <vcl.h>
#include <conio.h>
#include <stdio.h>
#include <iostream.h>
#include <cstring.h>
using std::cin;
#pragma hdrstop
 
//---------------------------------------------------------------------------
 
#pragma argsused
int main(int argc, char* argv[])
{
string line;
getline(cin, line);
char *string = line; //строка с ошибкой (просто добавление .c_str() не помогло)
char *token;
token = strtok(string,",");
printf ("%s\n",token);
getch();
}
//---------------------------------------------------------------------------
[C++ Error] Unit1.cpp(18): E2034 Cannot convert '_STL::string' to 'char *'

Поискал в интернете, как исправить, появились 2 новые, но в другом месте:
Кликните здесь для просмотра всего текста
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
//---------------------------------------------------------------------------
 
#include <vcl.h>
#include <conio.h>
#include <stdio.h>
#include <iostream.h>
#include <cstring.h>
using std::cin;
#pragma hdrstop
 
//---------------------------------------------------------------------------
 
#pragma argsused
int main(int argc, char* argv[])
{
string line;
getline(cin, line);
const char *string = line.c_str();
const char *token;
token = strtok(string,","); //строка с ошибкой
printf ("%s\n",token);
getch();
}
//---------------------------------------------------------------------------
[C++ Error] Unit1.cpp(20): E2034 Cannot convert 'const char *' to 'char *'
[C++ Error] Unit1.cpp(20): E2342 Type mismatch in parameter '__s1' (wanted 'char *', got 'const char *')
[C++ Warning] Unit1.cpp(23): W8004 'string' is assigned a value that is never used

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