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

Конкатенация без <string> - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Построить график зависимости расстояния от водной поверхности до верхней точки плавающего на воде тела http://www.cyberforum.ru/cpp-beginners/thread619728.html
Помогите,пожалуйста ) Построить график зависимости расстояния от водной поверхности до верхней точки плавающего на воде тела от плотности материала данного тела, если это шар диаметра А. Добавлено через 18 часов 41 минуту помогите кто знает как делать, очень нужно
C++ Не выводиться последний символ файла файл содержит по числу на строке 123 456 789 0 на экран почему то выводит все кроме 0 #include <iostream> #include <istream> #include <fstream> http://www.cyberforum.ru/cpp-beginners/thread619726.html
Как првильно организовывать передачу значений (переменных, векторов) между функциями класса? C++
Допустим есть класс. В классе есть одна публичная функция и две приватных. В публичной функции запускается сначала одна приватная, а затем вторая приватная. В первой приватной вычисляется, например, вектор. во второй этот вектор обрабатывается. Так вот как лучше выполнить передачу этого вектора из одной приватной функции в другую? Мне известно два способа: 1) Объявить вектор внутри класса и...
Запись с клавиатуры в файл C++
Собственно функция до конца не доходит, а получившийся файл test.txt забит хламом и весит до 100 мб. Подскажите где ошибся? void CToFile::Writing(){ fp=fopen("test.txt","w"); if(FileCheck(fp)==1){ cout << "Cannot open the file" << endl; return; } while(outnum!=EOF){ //считываем значения, пока не будет введена -1 cin >> outnum;
C++ Как по условию выйти из метки case http://www.cyberforum.ru/cpp-beginners/thread619715.html
Подскажите такое дело Например есть автомат MODE= MODE_2; for(;;) { switch MODE { case MODE_1: func1; funk2;
C++ Отладка программ в кодеблоксе Подскажите, как работать с отладчиком в середе CodeBlocks ? подробнее

Показать сообщение отдельно
RASHFor
6 / 6 / 0
Регистрация: 12.02.2012
Сообщений: 224
05.07.2012, 22:02  [ТС]     Конкатенация без <string>
это типа два способа?

Добавлено через 13 минут
можно и функцию main.....с выводом....

Добавлено через 45 минут
ну вот что я сделал,но выводит только str1....
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#include <iostream>
#include <string>
#include <stdlib.h>
#include <vector>
#include<locale>
#include <stdio.h>
#include "C:\Users\JAY\Documents\Visual Studio 2010\Projects\first\first\stdafx.h"
#include <cstdlib>
#include <Windows.h>
using namespace std;
 
 
/*void concat(char * s){
    vector<string> str;
    while(cin>>s !="q") str.push_back(s);
                  }*/
 
char* mstrcat(char *str1, const char *str2)
{
    char *res = str1;
    while(*str1) 
        ++str1;
    while(*str1++ = *str2++);
    return res;
}
char* mstrncat(char *str1, const char *str2, size_t count)
{
    char *res = str1;
    while(*str1) 
        ++str1;
    while(count-- && (*str1++ = *str2++));
    if (*str1) 
        *str1 = '\0';
    return res;
}
int main(){
    char *str1={"abcd"};
    char *str2={"efg"};
    //char s;
    //cin>>*str1;
    //for(int i=0;i<4;i++){
        //cout<<'S='<<s;}
char* mstrcat(char *str1, const char *str2);
char* mstrncat(char *str1, const char *str2, size_t count);
//for(int k=0;k<6;k++)
cout<<str1;
 
 
system("PAUSE");
return 0;
 
 
           }
Добавлено через 22 минуты
так разобрался сам:
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
37
38
39
40
41
42
43
44
45
46
47
48
#include <iostream>
#include <string>
#include <stdlib.h>
#include <vector>
#include<locale>
#include <stdio.h>
#include "C:\Users\JAY\Documents\Visual Studio 2010\Projects\first\first\stdafx.h"
#include <cstdlib>
#include <Windows.h>
using namespace std;
 
 
/*void concat(char * s){
    vector<string> str;
    while(cin>>s !="q") str.push_back(s);
                  }*/
 
char* mstrcat(char *str1, char *str2)
{
    char *res = str1;
    while(*str1) 
        ++str1;
    while(*str1++ = *str2++);
    return res;
}
/*char* mstrncat(char *str1,  char *str2, size_t count)
{
    char *res = str1;
    while(*str1) 
        ++str1;
    while(count-- && (*str1++ = *str2++));
    if (*str1) 
        *str1 = '\0';
    return res;
}*/
int main(){
    char str1[]={"abcd"};
    char *res=str1;
    char str2[]={"efg"};
    
mstrcat( str1,str2);
/*char* mstrncat(char *str1,  char *str2, size_t count);*/
cout<<str1;
system("PAUSE");
return 0;
 
 
           }
только выкидывает исключение.подскажите почему
вот такое:Run-Time Check Failure #2 - Stack around the variable 'str1' was corrupted.

Добавлено через 2 минуты
опять понял сам.Вроде бы как,паотому что выделенно меньше памяти,на 4 символа,а пихаю ещё 3.да?
 
Текущее время: 09:10. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru