![]() |
Подскажите как сложить две строки
|
#include <string.h>
... char *result; result=strcat(string1,string2); //string1 +string2; |
#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(); } |
А вот еще вопрос если объявить три указателя на тип char а потом их сложить вобще ето реально и если можно привести примерчик
|
Блин что то не получается вот код
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 Добавлено: Задача такая нужно прочитать из файла строки и сложить их все в одну большую кучу |
Вы не выделяет память под хранение строк. Куда по-Вашему это всё должно сваливаться? Посмотрите в сторону malloc/calloc.
Добавлено: Вот стандартный пример из man vprintf. Это почти то что Вам надо. Код:
... |
Вот разобрался но при выводе результата первые символы идут какието непонятные как можно от них избавится
|
day[0] = '\0';
|
Простите, по-моему, если сделать
day[0] = '\0'; то это будет конец строки, и вообще на экране ничего не будет((( или нет? |
Ну естественно. Именно поэтому надо это сделать до первого day=strcat(day,string)
|
Чем вас С++ не устраивает?
#include<iostream> using namespace std; ifstream is("input.txt"); stringstream oss; char c; while(is>>c) if(c!='\n') oss<<c; теперь oss.str() содержит нужную строку. Потоки stream описаны шаблонами, поэтому эта программа эквивалентна strspy с проверкой на переполнение буфферов. Добавлено: Чем вас С++ не устраивает? #include<iostream> using namespace std; ifstream is("input.txt"); stringstream oss; char c; while(is>>c) if(c!='\n') oss<<c; теперь oss.str() содержит нужную строку. Потоки stream описаны шаблонами, поэтому эта программа эквивалентна strspy с проверкой на переполнение буфферов. |
Цитата:
Для интересующихся - вот, откопал в сети по теме (не специально искал, просто совпало) Код:
/* Allocate the concatenation of N strings. Terminate arg list with NULL. */ |
Код:
Господа, используйте (кто не использует) теги форума для отображения кода, где ваш программистский стиль? Читаемость же растет... |
Время: 10:44. |
Время: 10:44.
© OSzone.net 2001-