|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Помогите разобратся со строками в С++ |
|
|
Помогите разобратся со строками в С++
|
Guest |
Подскажите как сложить две строки
|
|
Отправлено: 21:27, 13-05-2004 |
Пользователь Сообщения: 95
|
Профиль | Отправить PM | Цитировать #include <string.h>
... char *result; result=strcat(string1,string2); //string1 +string2; |
------- Отправлено: 23:16, 13-05-2004 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 1180
|
Профиль | Отправить PM | Цитировать #include <string>
using namespace std; { ... string st1="string1"; string st2=" "; string st3="string3" string st4=st1+st2+st3; } не советую использовать bcb4. Он глюкаво написан. bcb6 работает. Советую ms vc 6 или (лучше) Metrowerks CodeWarrior 8.0 Добавлено: второй вариант: #include <sstream> {... stringstream oss; oss << "string1" << ' ' << "string2"; return oss.str(); } |
Отправлено: 08:58, 14-05-2004 | #3 |
Guest |
А вот еще вопрос если объявить три указателя на тип char а потом их сложить вобще ето реально и если можно привести примерчик
|
Отправлено: 10:21, 14-05-2004 | #4 |
Guest |
Блин что то не получается вот код
main (void){ int nomer,stepen,done,provfile,provtek,flag; struct tm *newtime; char *day; char string[30] FILE *stream; stream=fopen("plus","r" if (stream!=NULL) { while(feof(stream)==0) { (fscanf(stream, "%s", string)); day=strcat(day,string) } } fclose(stream); printf (day); выдает ошибку пытаюсь писать на Борланд С++ 4.0 Добавлено: Задача такая нужно прочитать из файла строки и сложить их все в одну большую кучу |
|
Отправлено: 12:22, 14-05-2004 | #5 |
Старый параноик Сообщения: 2423
|
Профиль | Отправить PM | Цитировать Вы не выделяет память под хранение строк. Куда по-Вашему это всё должно сваливаться? Посмотрите в сторону malloc/calloc.
Добавлено: Вот стандартный пример из man vprintf. Это почти то что Вам надо. ... Указание достаточно большой строки и ее вывод (код корректен для обеих версий: glibc 2.0 и glibc 2.1): #include <stdio.h> #include <stdlib.h> #include <stdarg.h> char * make_message(const char *fmt, ...) { /* необходимо не более 100-а байтов. */ int n, size = 100; char *p; va_list ap; if ((p = malloc (size)) == NULL) return NULL; while (1) { /* Попытайтесь произвести печать в pазpешенном пpостpанстве. */ va_start(ap, fmt); n = vsnprintf (p, size, fmt, ap); va_end(ap); /* Если выполнено, возвpатить стpоку. */ if (n > -1 && n < size) return p; /* Произвести повторную попытку, с пространством большего размера. */ if (n > -1) /* glibc 2.1 */ size = n+1; /* Это то, что необходимо */ else /* glibc 2.0 */ size *= 2; /* Удвоить стаpый pазмеp */ if ((p = realloc (p, size)) == NULL) return NULL; } } ... |
Отправлено: 12:33, 14-05-2004 | #6 |
Guest |
Вот разобрался но при выводе результата первые символы идут какието непонятные как можно от них избавится
|
Отправлено: 15:37, 14-05-2004 | #7 |
Старый параноик Сообщения: 2423
|
Профиль | Отправить PM | Цитировать day[0] = '\0';
|
Отправлено: 09:12, 17-05-2004 | #8 |
Новый участник Сообщения: 16
|
Профиль | Сайт | Отправить PM | Цитировать Простите, по-моему, если сделать
day[0] = '\0'; то это будет конец строки, и вообще на экране ничего не будет((( или нет? |
------- Отправлено: 12:05, 20-05-2004 | #9 |
Старый параноик Сообщения: 2423
|
Профиль | Отправить PM | Цитировать Ну естественно. Именно поэтому надо это сделать до первого day=strcat(day,string)
|
Отправлено: 12:23, 20-05-2004 | #10 |
|
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
[решено] Помогите разобратся с DP_Base | SwanHeart | Хочу все знать | 2 | 24-03-2009 16:47 | |
Помогите разобратся со Skype'ом!!! | Ms. Nikson | Хочу все знать | 5 | 26-02-2009 15:36 | |
Помогите новичку разобратся с С++ | vadimiron | Программирование и базы данных | 8 | 16-06-2004 13:09 | |
Помогите разобратся с политикой | Guest | Microsoft Windows NT/2000/2003 | 6 | 11-09-2003 14:17 | |
Помогите разобратся с мышкой | Beaver | Программирование и базы данных | 3 | 25-11-2002 10:41 |
|