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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.81
psdmaster
0 / 0 / 0
Регистрация: 05.02.2013
Сообщений: 44
#1

Конкатенация строк - C++

02.04.2013, 20:23. Просмотров 2172. Ответов 30
Метки нет (Все метки)

Нужно объединить три строки: "txt/" + i + ".txt" в char* URL. i переменная в цикле.

Сделал так:
C++
1
2
3
strcpy(URL, "txt/\0");
strcat(URL, (char*)i);
strcat(URL, ".txt\0");
Ошибка:
d:\c++\fonbettoto\fonbettoto\fonbettoto.cpp(271): error C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.

Добавил:
C++
1
#define _CRT_SECURE_NO_WARNINGS
Ошибка:
1>d:\c++\fonbettoto\fonbettoto\fonbettoto.cpp(1): warning C4603: '_CRT_SECURE_NO_WARNINGS' : macro is not defined or definition is different after precompiled header use
1> Add macro to precompiled header instead of defining here
1> d:\c++\fonbettoto\fonbettoto\fonbettoto.cpp(4) : use of precompiled header
1>d:\c++\fonbettoto\fonbettoto\fonbettoto.cpp(271): error C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.

Есть идеи? Можно принципиально код поменять.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.04.2013, 20:23     Конкатенация строк
Посмотрите здесь:

Конкатенация строк - C++
Частью задания является реализовать функцию strcat. Возникает какая-то ошибка (см.фото). 1.Вы могли бы подсказать в чём ошибка? 2.Не по...

Конкатенация строк - C++
Здраствуйте. Проблема в следующем: (строка 57) нужно прибавить элемент массива типа string к переменной типа string, но при запуске...

Конкатенация строк - C++
Здравствуйте, у меня такая проблема. Имеется переменная типа LPCWSTR мне в нее необходимо сохранить другую переменную типа LPCWSTR и...

Конкатенация строк - C++
Разбираю учебный пример - написать класс для работы со строками. Всего два поля: private: int _size; // длина строки, без...

конкатенация строк - C++
Доброго времени суток! есть следующий код, который читает файл: char line; string str = ""; ifstream...

Конкатенация строк - C++
Написать программу, которая делает сложение унарных чисел. Я написал программу, она даже правильно считает, но как мне потом сказали,...

Конкатенация строк - C++
struct Polya //struct for baza questions { WCHAR Question, var1, var2, var3, var4; WCHAR Answer; }; Polya *Quest = new...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
yoghurt92
374 / 345 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
03.04.2013, 00:27     Конкатенация строк #21
Цитата Сообщение от Програмер_80лвл Посмотреть сообщение
char *t=new char[z.size()];
* * // i ->
* * for(int i=0;i<10;i++)
* * {
* * * * string z;
* * * * t=(char*)z.c_str();
* * * * itoa(i,t,10);
* * }
что вы за хрень несете?!? вы выделяете память исходя из размера не инициализированной переменной, да что там инициализированной, вы даже не объявили z а уже

Цитата Сообщение от Програмер_80лвл Посмотреть сообщение
char *t=new char[z.size()];
Програмер_80лвл
15 / 15 / 1
Регистрация: 17.10.2012
Сообщений: 96
Записей в блоге: 1
03.04.2013, 00:31     Конкатенация строк #22
Цитата Сообщение от psdmaster Посмотреть сообщение
Выводит шляпу какую-то:
для того тчоб выводило не шляпу пиши setlocale()
я уже непомню какие параметры может по гуглиш или используй
_cputws(L"TEXT");
тож шняга полезная =)

Добавлено через 1 минуту
Цитата Сообщение от yoghurt92 Посмотреть сообщение
* * * * string z;
А Это что ! Такое !?*
Мммм думаю Вам нада Пыль с экрана протереть...
или просто выспатся
yoghurt92
374 / 345 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
03.04.2013, 00:33     Конкатенация строк #23
Цитата Сообщение от Програмер_80лвл Посмотреть сообщение
string URL;
string Txt="txt/";
* * string txt=".txt";
* * //для преобразование из const char* в char* тебе понадобится
* * char *t=new char[z.size()];
* * // i ->
* * for(int i=0;i<10;i++)
* * {
* * * * string z;
* * * * t=(char*)z.c_str();
* * * * itoa(i,t,10);
* * }
* * URL.append(Txt.c_str());
* * URL.append(t);
* * URL.append(txt);
пыль со своего экрана вытри, снчала смотри что пишешь, если ты шлак несешь.
Програмер_80лвл
15 / 15 / 1
Регистрация: 17.10.2012
Сообщений: 96
Записей в блоге: 1
03.04.2013, 00:34     Конкатенация строк #24
Цитата Сообщение от yoghurt92 Посмотреть сообщение
пыль со своего экрана вытри, снчала смотри что пишешь, если ты шлак несешь.
Эмм Сори я просто ее сначала создал в цикле потом перед отправкой перенес=)
Извините* Моя ошибка=)
yoghurt92
374 / 345 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
03.04.2013, 00:35     Конкатенация строк #25
Програмер_80лвл, да ты что? а я то думал моя... браво.
psdmaster
0 / 0 / 0
Регистрация: 05.02.2013
Сообщений: 44
03.04.2013, 00:36  [ТС]     Конкатенация строк #26
ребята, давайте без батлов.
Програмер_80лвл
15 / 15 / 1
Регистрация: 17.10.2012
Сообщений: 96
Записей в блоге: 1
03.04.2013, 00:38     Конкатенация строк #27
yoghurt92, Ээ а может хватит Тролить того человека который помог другому незнающему человеку...
psdmaster
0 / 0 / 0
Регистрация: 05.02.2013
Сообщений: 44
03.04.2013, 01:11  [ТС]     Конкатенация строк #28
Програмер_80лвл,

Итак вот что получилось:
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
#include "stdafx.h"
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
 
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    string str, URL;
    char *z = new char[3]; 
 
    for(int i = 1; i <= 3; ++i)
    {
        itoa(i, z, 10);
        
        URL = "txt/";
        URL = URL + z + ".txt";
        
        ifstream fin(URL);
        cout << URL << endl;
        
        getline(fin, str, '\n');
 
        cout << str << endl;
        fin.close();
    }
 
    getchar();
 
    return 0;
}
Ошибка:
error C4996: 'itoa': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _itoa. See online help for details.
1> d:\microsoft visual studio 11.0\vc\include\stdlib.h(909) : see declaration of 'itoa'
yoghurt92
374 / 345 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
03.04.2013, 09:06     Конкатенация строк #29
psdmaster, используй

C++
1
_itoa
Програмер_80лвл
15 / 15 / 1
Регистрация: 17.10.2012
Сообщений: 96
Записей в блоге: 1
06.04.2013, 03:01     Конкатенация строк #30
Цитата Сообщение от psdmaster Посмотреть сообщение
_itoa.
это не ошибка а предупкиждение потомучто потоко не безопасно но так как утебя нет потоков ты можеш использовать...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.04.2013, 03:26     Конкатенация строк
Еще ссылки по теме:

Конкатенация строк - C++
Должно быть консольное приложение. Очень простой вопрос, но сам что-то завис, и немогу найти что хочу. Значит так есть такой кусок кода ...

Конкатенация строк - C++
Имеется две строки string1 и string2, мне нужно что бы строка string3 содержала в себе обе, сначало string1, потом string2. Kак это сделать...

Конкатенация строк - C++
Добрый день. Скажите, плз, как в ц++ соединить в единую строку следующее: myString = argv + i + &quot;тут некоторый текст.&quot; argv - ну ясно...

Конкатенация строк - C++
Здравствуйте. Имеется функция - Concat(s1,s2). Назначение - конкатенация строк s1 и s2 (конкатенцаия - это операция склеивания объектов...

Конкатенация строк - C++
Помогите,пожалуйста,идиоту.Не понимаю как правильно конкатенацию строк написать(&quot;сложение&quot; строк) #include &lt;iostream&gt; class...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
abit
260 / 259 / 33
Регистрация: 03.02.2013
Сообщений: 709
06.04.2013, 03:26     Конкатенация строк #31
Цитата Сообщение от Програмер_80лвл Посмотреть сообщение
это не ошибка а предупкиждение потомучто потоко не безопасно но так как утебя нет потоков ты можеш использовать...
error в VS всё же ошибка, которая не позволит скомпилировать, предупреждение, это warning - он позволил бы
и вообще в любом приложении по дефолту есть хотя бы один поток main
да, это именно поток, процесс, который его исполняеет несколько глубже сидит и отвечает за раздачу системный ресурсов, а функция main - это поток, так что грубо говорить
утебя нет потоков ты можеш использовать
Yandex
Объявления
06.04.2013, 03:26     Конкатенация строк
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru