Работа со строками в C++
Пользователи, просматривающие топик: none
|
Зашли как: Guest
|
Имя |
Сообщение |
<< Старые топики Новые топики >> |
|
|
Работа со строками в C++ - 2006-11-13 18:25:46.223333
|
|
|
De}{is
Сообщений: 137
Оценки: 0
Присоединился: 2005-11-22 11:21:42
|
Недавно начал разбираться с c/c++ и столкнулся с такой проблемой: есть в этом языке нормальные строковые переменные (типа string в паскале) а то c char'ом работать совершенно невыносимо?
|
|
|
RE: Работа со строками в C++ - 2006-11-13 18:35:55.676666
|
|
|
rgo
Сообщений: 7170
Оценки: 281
Присоединился: 2004-09-25 05:14:25
|
в C, строка – это просто массив char'ов. а чем неудобно? ты б примерчик привёл, а я бы показал что в цэ это, как минимум, не сильно сложнее чем в паскале, а то и проще. в C++, есть тип string, но это уже резко приплюснутый ц, придётся также иметь дело с cin, cout забивая на FILE*. И, подчастую, забивая на указатели работать со ссылками.
|
|
|
RE: Работа со строками в C++ - 2006-11-13 19:39:34.863333
|
|
|
SantaS
Сообщений: 99
Оценки: 0
Присоединился: 2006-09-23 21:49:06.040000
|
rgo а чем тебе не нравится cin, cout. ИМХО очень удобно, практично. А вот без ссылок, да хреного!
|
|
|
RE: Работа со строками в C++ - 2006-11-13 20:14:12.973333
|
|
|
rgo
Сообщений: 7170
Оценки: 281
Присоединился: 2004-09-25 05:14:25
|
quote:
ORIGINAL: SantaS rgo а чем тебе не нравится cin, cout. ИМХО очень удобно, практично. нну дык я не спорю что удобно… хотя… перепеши следующий код используя cout, и поймёшь, что прав ты лишь отчасти: int i;
for (i = -10; i <= 10; i ++) {
printf ("%+4.2i |%6.3f\n", i, 1./(i*i + .5));
} но, я, на самом деле не о том, хотел сказать. моё имхо, что неплохо было бы сначала с цэ разобраться, хотя бы в первом приближении, и только потом заморачиваться с плюсами. а если вместо char* использовать string, то без плюсов далеко не уедешь.
|
|
|
RE: Работа со строками в C++ - 2006-11-13 21:19:30.443333
|
|
|
VDShark
Сообщений: 287
Оценки: 0
Присоединился: 2006-09-23 11:36:06.240000
|
А чем вам массив символов (char в смысле:D) не угодил? По моему очень даж удобно, и никаких проблем при использовании не возникает…. у меня по крайней мере)
|
|
|
RE: Работа со строками в C++ - 2006-11-15 21:24:31.073333
|
|
|
De}{is
Сообщений: 137
Оценки: 0
Присоединился: 2005-11-22 11:21:42
|
мне нужно организовать ввод с клавиатуры строки, длинна которой не известна, я пишу так char *s; cin >> s; и во время выполнения после нажатия Enter программа вылетает, в чем ошибка и как должно быть? и ещё при попытке сравнивать массивы char: char s1[256], s2[256]; s1 = "a"; s2 = "b"; if (s1 < s1) cout << "s1 < s2"; программа работет неправильно (срока , "s1 < s2" не выводится) почему?
|
|
|
RE: Работа со строками в C++ - 2006-11-15 22:20:31.573333
|
|
|
Келер
Сообщений: 32
Оценки: 0
Присоединился: 2006-11-13 19:35:57.113333
|
#include<iostream.h> void main() { char s1[256], s2[256]; s1[0] = 'a'; s2[0] = 'b'; if (s1[0] < s2[0]) cout << "s1 < s2\n"; } А как организовать ввод строки, длина которой не известна не знаю, сам только недавно начал учить c++
|
|
|
RE: Работа со строками в C++ - 2006-11-15 22:43:55.166666
|
|
|
rgo
Сообщений: 7170
Оценки: 281
Присоединился: 2004-09-25 05:14:25
|
quote:
ORIGINAL: De}{is мне нужно организовать ввод с клавиатуры строки, длинна которой не известна, я пишу так char *s; cin >> s; и во время выполнения после нажатия Enter программа вылетает, в чем ошибка и как должно быть? и будет вылетать, ибо s объявлена как указатель и в ней должен лежать адрес на кусок памяти где будет храниться строка. Но ты ведь никак не инициализируешь s, и там лежит хлам. Куда записывается введённая строка? а насчёт неизвестности размера… тут либо использовать не char*, а c++'овый string – там память будет выделяться динамически, либо писать самостоятельно всё выделение памяти, либо искать в C'шных либах функцию которая будет это делать. В gnu libc есть, причём как самостоятельные функции так и флаги к %s в scanf'е, но ты, как я предполагаю не glibc используешь? короче проще сделать так, как предложил предыдущий оратор. хотя полкилобайта из стека под какие-то строчки – это не есть гуд. ;) quote:
и ещё при попытке сравнивать массивы char: char s1[256], s2[256]; s1 = "a"; s2 = "b"; if (s1 < s1) cout << "s1 < s2"; программа работет неправильно (срока , "s1 < s2" не выводится) почему? =) программа работает правильно. просто ты неправильно понимаешь то, как она работает. s1, s2 – это массивы, когда ты пишешь `s1 < s2' ты сравниваешь адреса этих массивов. для сравнения строк надо использовать функцию strcmp. Ну или в качестве варианта, опять же, перейти от char* к string.
|
|
|
RE: Работа со строками в C++ - 2006-12-11 12:13:10.436666
|
|
|
Келер
Сообщений: 32
Оценки: 0
Присоединился: 2006-11-13 19:35:57.113333
|
Как работать со string используя cin cout?
|
|
|
RE: Работа со строками в C++ - 2006-12-11 12:52:50.030000
|
|
|
__Andy__
Сообщений: 86
Оценки: 0
Присоединился: 2006-11-29 13:01:54.263333
|
string s("");
cout << "Enter your string:\n";
cin >> s;
//some operations with your string
cout << "Modifyed string: " << s << endl;
|
|
|
RE: Работа со строками в C++ - 2006-12-11 16:14:43.560000
|
|
|
Келер
Сообщений: 32
Оценки: 0
Присоединился: 2006-11-13 19:35:57.113333
|
Что-то не выходит, пишу следующее: #include <string> #include <iostream.h> void main() { string s(""); cout << "Enter your string:\n"; cin >> s; //some operations with your string cout << "Modifyed string: " << s << endl; } Ошибки следующие: ——————–Configuration: string - Win32 Debug——————– Compiling… string.cpp C:\Program Files\Microsoft Visual Studio\MyProjects\string\string.cpp(5) : error C2065: 'string' : undeclared identifier C:\Program Files\Microsoft Visual Studio\MyProjects\string\string.cpp(5) : error C2146: syntax error : missing ';' before identifier 's' C:\Program Files\Microsoft Visual Studio\MyProjects\string\string.cpp(5) : error C2065: 's' : undeclared identifier Error executing cl.exe. string.exe - 3 error(s), 0 warning(s)
|
|
|
RE: Работа со строками в C++ - 2006-12-11 21:31:24.580000
|
|
|
De}{is
Сообщений: 137
Оценки: 0
Присоединился: 2005-11-22 11:21:42
|
чем ты компилируешь? у меня на билдере все работает
|
|
|
RE: Работа со строками в C++ - 2006-12-12 01:45:46.640000
|
|
|
__Andy__
Сообщений: 86
Оценки: 0
Присоединился: 2006-11-29 13:01:54.263333
|
#include <string>
#include <iostream>
using namespace std; //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
void main()
{
string s("");
cout << "Enter your string:\n";
cin >> s;
//some operations with your string
cout << "Modifyed string: " << s << endl;
}
|
|
|
RE: Работа со строками в C++ - 2006-12-12 22:01:44.016666
|
|
|
Келер
Сообщений: 32
Оценки: 0
Присоединился: 2006-11-13 19:35:57.113333
|
Компилирую VC++ 6.0 2 __Andy__ : Спасибо теперь всё работает, а не мог бы ты пояснить что значит quote:
using namespace std; , а то не хочется каждый раз переписывать непонимая что.
|
|
|
RE: Работа со строками в C++ - 2006-12-12 22:49:13.300000
|
|
|
__Andy__
Сообщений: 86
Оценки: 0
Присоединился: 2006-11-29 13:01:54.263333
|
std - пространство имен из стандартной библиотеки…. Учи матчасть..
|
|
|
RE: Работа со строками в C++ - 2006-12-12 23:32:08.236666
|
|
|
rgo
Сообщений: 7170
Оценки: 281
Присоединился: 2004-09-25 05:14:25
|
quote:
ORIGINAL: Келер 2 __Andy__ : Спасибо теперь всё работает, а не мог бы ты пояснить что значит quote:
using namespace std; , а то не хочется каждый раз переписывать непонимая что. это чтоб писать вместо:std::cout << "hello world" << std::endl; по-простомуcout << "hello world" << endl;
|
|
|
RE: Работа со строками в C++ - 2006-12-13 02:23:36.533333
|
|
|
KIsp
Сообщений: 203
Оценки: 0
Присоединился: 2006-09-10 15:22:14
|
using namespace std - (по русски)это типо юзать переменные из пространства имен под названием std.
|
|
|
RE: Работа со строками в C++ - 2006-12-13 02:35:12.376666
|
|
|
Diabolus
Сообщений: 127
Оценки: 0
Присоединился: 2006-11-18 05:35:27.343333
|
quote:
ORIGINAL: De}{is чем ты компилируешь? у меня на билдере все работает меня поразил сей вопрос :) C:\Program Files\Microsoft Visual Studio\MyProjects\string\string.cpp(5) : error C2065: 'string' : undeclared identifier вряд ли ведь он установил билдер ф папку Microsoft Visual Studio, ога? :)
|
|
|
RE: Работа со строками в C++ - 2006-12-13 16:46:04.330000
|
|
|
Келер
Сообщений: 32
Оценки: 0
Присоединился: 2006-11-13 19:35:57.113333
|
Спасибо что разъяснили.
|
|
|
RE: Работа со строками в C++ - 2006-12-19 16:21:41.340000
|
|
|
GorluM
Сообщений: 312
Оценки: 0
Присоединился: 2004-04-07 23:41:00
|
В char'ах вся прелесть. А все эти стринги - для ламосов и офисного планктона.
|
|
|
RE: Работа со строками в C++ - 2006-12-20 01:11:52.590000
|
|
|
__Andy__
Сообщений: 86
Оценки: 0
Присоединился: 2006-11-29 13:01:54.263333
|
2 GorluM, геморно, имхо… кроме того, std::string - это ж часть стандарта.. Что тут плохого??
|
|
|
RE: Работа со строками в C++ - 2006-12-20 16:44:17.116666
|
|
|
GorluM
Сообщений: 312
Оценки: 0
Присоединился: 2004-04-07 23:41:00
|
чего геморного то? я привык. а std::string не юзаю, ибо я хз, чего там компилятору взбредет в мой код вставить в моей программе толькой мой код. я придерживаюсь этого принципе при разработке программ, манипулирующих системой
|
|
|
RE: Работа со строками в C++ - 2006-12-20 18:24:20.710000
|
|
|
__Andy__
Сообщений: 86
Оценки: 0
Присоединился: 2006-11-29 13:01:54.263333
|
quote:
std::string не юзаю, ибо я хз, чего там компилятору взбредет в мой код вставить компилятор будет действовать согласно стандарту С++ =))
|
|
|
RE: Работа со строками в C++ - 2006-12-20 21:49:59.070000
|
|
|
GorluM
Сообщений: 312
Оценки: 0
Присоединился: 2004-04-07 23:41:00
|
Стандарт в данном случае трактуется разными компиляторами по-разному. Но смысл не в этом, а в том, что я абсолютно точно представляю себе как будет в скомпилированном виде выглядеть:
char buffer[128];
char *s1 = "hello";
char *s2 = "world";
lstrcpy(buffer,s1);
lstrcat(buffer,s2); Обе строки в секцию данных. Буффер выделяется из стека. Обычный запуск обоих функций. А если бы я написал:
std::string buffer;
buffer = "hello";
buffer += "world"; Чего в коде вылезет? Каждый компилятор подумаем по-свойму. Кто-то, мож, в конечном все упростит до запуска виндовых строковых lstr, а кто-то влепет миллион методов класса, благодаря чему программа нихренова так разрастется. Разве стандарт определяет, какой код должен получаться? А нихрена. Стандарт определяет как можно писать программы, а не то как они впоследствии будут выглядеть.
|
|
|
RE: Работа со строками в C++ - 2006-12-21 13:03:27.523333
|
|
|
__Andy__
Сообщений: 86
Оценки: 0
Присоединился: 2006-11-29 13:01:54.263333
|
quote:
lstrcpy(buffer,s1);
lstrcat(buffer,s2); А разве их реализация не зависит от компилятора?)))) (в общем случае)
|
|
|
RE: Работа со строками в C++ - 2006-12-22 00:18:54.493333
|
|
|
GorluM
Сообщений: 312
Оценки: 0
Присоединился: 2004-04-07 23:41:00
|
quote:
А разве их реализация не зависит от компилятора?)))) (в общем случае) это winapi
|
|
|
RE: Работа со строками в C++ - 2006-12-22 01:32:38.696666
|
|
|
__Andy__
Сообщений: 86
Оценки: 0
Присоединился: 2006-11-29 13:01:54.263333
|
блин… точно… Вот, что значит, лечь в 4 утра)))) И вообще… глупый спор какой-то получается - C vs C++
|
|
|
RE: Работа со строками в C++ - 2007-10-25 21:14:49.050000
|
|
|
AchtungPartizanen
Сообщений: 38
Оценки: 0
Присоединился: 2007-10-25 20:54:58.030000
|
Я у вас тут недавно, и то потому что помощи решил попросить… Надо сделать лабу по строкам. Павловская не очень помогает… Короче: с клавы вводится предложение. Есть две подстроки: одна из 2 букв, вторафя из 3. Нужно найти во введенном предложении все слова, содержащие хотя бы одну из подстрок, и вывести ее. Я тут уже много чего намудрил, код приложу… Идея такая. Брать из предложения по одному слову (искать пробелы и отрезать по ним), искать в слове подстроки, если есть, то вывести слово, затем отрезать найденное слово от строки, и так в цикле пока длина строки не ноль. Но вот есть некоторые запары в связи с тем, что я плохо знаю функции языка… #include <iostream.h>
#include <string.h>
#include <conio.h>
void poisk(char predl[]);
void main(void)
{
clrscr();
char predl[80];
cout << "vvedyte predlogenie\n";
cin.get(predl,80);
// predl[strlen(predl)] = '\0';
cout << predl << "\n";
poisk(predl);
getch();
}
//в этой функции я и осуществляю поиск
void poisk(char predl[])
{
char *ptr, c = ' '; //пробел
char string[80], work[20]; //string - предложение, work - слово, с ним буду работать
char isk1[] = "abc", isk2[] = "de" //подстроки, которые буду искать
strncpy(string,predl,strlen(predl)); //копирую предложение в string, чтобы не трогать оригинальную строку
int pos; //номер найденного пробела
while (strlen(string)) //пока длина строки не ноль
{
ptr = strchr(string, c); //ищем пробел
pos=ptr-string; //и записываем его номер
strncpy (work,string,pos); //копируем слово (все, что до пробела) в work
if (strstr(work,isk1)|strstr(work,isk2)) cout<<work<<"\n"; /*ищу подстроки в слове, если strstr не найдет, то возвратит <NULL>, если найдет, то возвращает строку от найденной подстроки до конца слова, но главное, что не нуль. Но тут не компилируется...*/
strncpy(string,string[pos+1],strlen(string)-pos); //пытаюсь отрезать проверенное слово от string. тоже пока не получается...
}
/* if (ptr)
cout << "The character \'" << c << "\' is at position: " << pos << "\n";
else
cout << "The character was not found\n";*/
}
|
|
|
RE: Работа со строками в C++ - 2007-10-25 22:39:29.676666
|
|
|
C_4
Сообщений: 46
Оценки: 0
Присоединился: 2007-07-20 13:53:35.103333
|
AchtungPartizanen а через чары сделать нельзя, лаба именно по работе со string'ами? Просто алгоритм тогда вроде бы несложный получается… мб я не так задачу поняла. Даже скорее всего не так поняла - такие вопросы: quote:
Нужно найти во введенном предложении все слова, содержащие хотя бы одну из подстрок, и вывести ее. В коде ты выводишь подстроку, которая встречается хотя бы в одном слове, и pos - по-видимому, это индекс пробела, где кончается слово? quote:
pos=ptr-string; //и записываем его номер А вот куда ты деваешь слова, в которых нашёл подстроку, я так и не поняла. Я бы предложила такой алгоритм: Заводим указатель, бегущий по предложению. Встречая пробел, отдельно запоминаем указатель на первый символ нового слова. Дальше если программа находит первую букву одной из подстрок, проверяем следующую и т.п. Если подстрока найдена - выводим на экран слово *или сохраняем в файл, или запоминаем позицию, что с ним там надо сделать* и продолжаем поиск.
|
|
|
RE: Работа со строками в C++ - 2007-10-25 22:53:12.816666
|
|
|
AchtungPartizanen
Сообщений: 38
Оценки: 0
Присоединился: 2007-10-25 20:54:58.030000
|
quote:
ORIGINAL: C_4 AchtungPartizanen а через чары сделать нельзя, лаба именно по работе со string'ами? Просто алгоритм тогда вроде бы несложный получается… мб я не так задачу поняла. Даже скорее всего не так поняла - такие вопросы: Лаба именно по работе с чарами, стрингов я нигде не использую вообще. Так надо quote:
quote:
Нужно найти во введенном предложении все слова, содержащие хотя бы одну из подстрок, и вывести ее. В коде ты выводишь подстроку, которая встречается хотя бы в одном слове, и pos - по-видимому, это индекс пробела, где кончается слово? quote:
pos=ptr-string; //и записываем его номер А вот куда ты деваешь слова, в которых нашёл подстроку, я так и не поняла. Вывожу на экран. Там план такой: взял предложение, отрезал одно слово, проверил на предмет встречаемости заданных буквосочетаний, если есть, то выводим, если нет, то не выводим. Дальше отрезаем следующее слово, повторяем операции. И так до тех пор пока предложение не кончится quote:
Я бы предложила такой алгоритм: Заводим указатель, бегущий по предложению. Встречая пробел, отдельно запоминаем указатель на первый символ нового слова. Дальше если программа находит первую букву одной из подстрок, проверяем следующую и т.п. Если подстрока найдена - выводим на экран слово *или сохраняем в файл, или запоминаем позицию, что с ним там надо сделать* и продолжаем поиск. Вот это не знаю. Если я не ошибаюсь, лаба по изучению функций работы со строками (а закавык много, например, strncpy не утруждает себя добавлением '\0' в конец создаваемой строки, и такие моменты надо специально контролировать). Так что не уверен, стоит ли делать так, как ты сказала…
|
|
|
RE: Работа со строками в C++ - 2007-10-25 22:56:17.460000
|
|
|
C_4
Сообщений: 46
Оценки: 0
Присоединился: 2007-07-20 13:53:35.103333
|
Суть задачи вроде бы стала ясна… но… quote:
Так что не уверен, стоит ли делать так, как ты сказала… Я тоже не уверена. Но с функциями работы со строками вряд ли помогу, чары обычно юзаю. Хотя мб на досуге попробую разобраться.
|
|
|
RE: Работа со строками в C++ - 2007-10-25 23:02:45.780000
|
|
|
jiraff
Сообщений: 64
Оценки: 0
Присоединился: 2007-10-21 02:05:50.850000
|
О, кстати.Заодно и йа спрошу.Какой оператор конкатенации в C++?В php это ".", в паскале и жабе это "+".А вот в C++ получается только при cout соеденять строки :-( ни точка, ни плюс не работают.Компилятор gcc…
|
|
|
RE: Работа со строками в C++ - 2007-10-25 23:09:09.803333
|
|
|
AchtungPartizanen
Сообщений: 38
Оценки: 0
Присоединился: 2007-10-25 20:54:58.030000
|
->jiraff: strcat попробуй… ->C_4: я ж говорю, что не использую стринг, я использую массив чар! Где у меня написано string? У меня везде char[]!
|
|
|
RE: Работа со строками в C++ - 2007-10-25 23:10:30.010000
|
|
|
AchtungPartizanen
Сообщений: 38
Оценки: 0
Присоединился: 2007-10-25 20:54:58.030000
|
PS. Мне эту прогу завтра днем сдавать надо
|
|
|
RE: Работа со строками в C++ - 2007-10-25 23:33:16.490000
|
|
|
C_4
Сообщений: 46
Оценки: 0
Присоединился: 2007-07-20 13:53:35.103333
|
AchtungPartizanen я имела в виду - используешь библиотеку string.h до завтра днём не успею наверное(
|
|
|
RE: Работа со строками в C++ - 2007-10-26 01:22:01.943333
|
|
|
rgo
Сообщений: 7170
Оценки: 281
Присоединился: 2004-09-25 05:14:25
|
quote:
ORIGINAL: AchtungPartizanen Идея такая. Брать из предложения по одному слову (искать пробелы и отрезать по ним), искать в слове подстроки, если есть, то вывести слово, затем отрезать найденное слово от строки, и так в цикле пока длина строки не ноль. зачем такие сложности? можно во всём предложении найти нужные подстроки, а затем выделить слова в которых они находятся. отлаживать лень – оно что-то зацикливается, и основной цикл там не лучшим образом сделан, но вот:#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char *locate_wstart (char *c, char *sentence)
{
while (c > sentence && c[-1] != ' ')
c --;
return c;
}
char *find_occur (char *str, char *in, char *sentence)
{
char *occur = strstr (in, str);
char *space;
printf ("occur = %s, str = %s, in = %s\n", occur, str, in);
if (!occur)
return NULL;
occur = locate_wstart (occur, sentence);
space = strchr (occur, ' ');
if (!space)
space = occur + strlen (occur);
printf ("word found: %.*s\n", space - occur, occur);
return occur;
}
int main ()
{
char *sentence = "abc xyz qwerty bz";
char *str1= "b", *str2 = "z";
char *start, *ptr;
for (start = sentence; start != NULL; start = ptr) {
char *tmp;
tmp = find_occur (str1, start, sentence);
ptr = find_occur (str2, start, sentence);
if (tmp || ptr)
ptr = tmp > ptr ? ptr : tmp;
}
return 0;
}
|
|
|
RE: Работа со строками в C++ - 2007-10-26 01:23:01.550000
|
|
|
rgo
Сообщений: 7170
Оценки: 281
Присоединился: 2004-09-25 05:14:25
|
quote:
ORIGINAL: C_4 AchtungPartizanen я имела в виду - используешь библиотеку string.h ;) не надо путать:#include <string.h> и#include <string>
|
|
|
RE: Работа со строками в C++ - 2007-10-26 14:32:29.903333
|
|
|
Absurd
Сообщений: 335
Оценки: 0
Присоединился: 2007-08-24 13:14:11.566666
|
quote:
ORIGINAL: GorluM чего геморного то? я привык. а std::string не юзаю, ибо я хз, чего там компилятору взбредет в мой код вставить в моей программе толькой мой код. Поставь опцию "генерировать asm файлы", и поразись насколько лучше работает std::string чем твои велосипеды.
|
|
|
RE: Работа со строками в C++ - 2007-10-26 15:57:52.013333
|
|
|
Inspektor
Сообщений: 143
Оценки: 0
Присоединился: 2007-08-31 11:37:20.710000
|
AchtungPartizanen, я бы тупо брутом брал, ведь слова для поиска короткие и строка не длинная:
#include <conio.h>
#include <stdio.h>
#include <windows.h>
void Find(char* String);
void main(void)
{
char String[80];
printf("vvedyte predlogenie\n");
scanf("%[a-zA-Z0-9 ]s",&String);
Find(String);
getch();
}
void Find(char* String)
{
bool result=false;
char Buffer[80]={},x1[3],x2[2];
strcpy(x1,"abc");
strcpy(x2,"de");
int n=0;
for(int i=0;;i++)
{
if(String[i]==' '||String[i]=='\0')
{
if(result==true)
printf("%s\n",Buffer);
if(String[i]=='\0')
break;
ZeroMemory(&Buffer,80);
n=0;
result=false;
}
else
{
Buffer[n]=String[i];
if(result==true);
else if(Buffer[n]=='a')
{
if(memcmp(String+i,x1,3)==0)
result=true;
}
else if(Buffer[n]=='d')
if(memcmp(String+i,x2,2)==0)
result=true;
n=n+1;
}
}
}
|
|
|
RE: Работа со строками в C++ - 2007-10-26 16:41:15.626666
|
|
|
rgo
Сообщений: 7170
Оценки: 281
Присоединился: 2004-09-25 05:14:25
|
quote:
ORIGINAL: Inspektor memcmp(String+i,x1,3) вот так делать не стоит… ведь есть strncmp, пользуйся ею. а то так недолго и за завершающий '\0' вылезти. скорее всего ничего страшного из-за этого не случиться, но если оно так работает, это ещё не повод так делать.
|
|
|
|
|