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

strcat - C++

Восстановить пароль Регистрация
 
Cocozub
2 / 2 / 0
Регистрация: 09.10.2013
Сообщений: 104
Завершенные тесты: 1
04.12.2013, 16:12     strcat #1
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <windows.h>
#include <iostream>
 
#pragma warning (disable : 4996)
 
void Func (char* lpszFileName);
 
void main()
{
    char *lpszFileName = "D:\\";
    Func (lpszFileName);
}
void Func (char* lpszFileName)
{
    char* name = "*.*";
    strcat (lpszFileName, name);
}
Когда доходит до strcat появляется окно в котором написано: Unhandled exception at 0x0052F7E2 (msvcr110d.dll) in ConsoleApplication7.exe: 0xC0000005: Access violation writing location 0x00BECC6F.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.12.2013, 16:12     strcat
Посмотрите здесь:

C++ Функция strcat
C++ функция strcpy и strcat
Работа со strcat C++
C++ Ошибка в использовании strcat
C++ strcat
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Aloir
 Аватар для Aloir
216 / 216 / 13
Регистрация: 17.12.2010
Сообщений: 688
04.12.2013, 16:16     strcat #2
сами ответьте на свой вопрос, а я подскажу наводяще: на сколько символов тут выделяется буфер?

C++
1
*lpszFileName = "D:\\";
Cocozub
2 / 2 / 0
Регистрация: 09.10.2013
Сообщений: 104
Завершенные тесты: 1
04.12.2013, 16:21  [ТС]     strcat #3
Цитата Сообщение от Aloir Посмотреть сообщение
сами ответьте на свой вопрос, а я подскажу наводяще: на сколько символов тут выделяется буфер?

C++
1
*lpszFileName = "D:\\";
5 символов вроде-бы, я не то скопировал.
C++
1
2
char* lpszFileName = new char [MAX_PATH];
lpszFileName = "D:\\";
Как-то так писал, и все равно не работает.
jurok_85
226 / 209 / 70
Регистрация: 21.02.2013
Сообщений: 494
04.12.2013, 16:29     strcat #4
Тут по такому алгоритму можно:
C++
1
2
3
4
5
char* str= new char [MAX_PATH];
  strcpy (str,"these ");
  strcat (str,"strings ");
  strcat (str,"are ");
  strcat (str,"concatenated.");
Aloir
 Аватар для Aloir
216 / 216 / 13
Регистрация: 17.12.2010
Сообщений: 688
04.12.2013, 16:31     strcat #5
а разве можно так жостко со строками?))
C++
1
 lpszFileName = "D:\\";
отличайте инициализацию и обычное присваивание
Cocozub
2 / 2 / 0
Регистрация: 09.10.2013
Сообщений: 104
Завершенные тесты: 1
04.12.2013, 16:44  [ТС]     strcat #6
Цитата Сообщение от Aloir Посмотреть сообщение
а разве можно так жостко со строками?))
C++
1
 lpszFileName = "D:\\";
отличайте инициализацию и обычное присваивание
Ну так поясните, если бы я знал то не спрашивал бы.
Aloir
 Аватар для Aloir
216 / 216 / 13
Регистрация: 17.12.2010
Сообщений: 688
04.12.2013, 16:50     strcat #7
Cocozub, прочитайте вот это
там есть заголовок - Операции со строками, а лучше все
если что-то не будет понятно, разьясню в личке потом.
timaberezhnov
14 / 14 / 4
Регистрация: 10.09.2013
Сообщений: 67
04.12.2013, 17:02     strcat #8
Ещё хорошо бы дописывать инклюд при использовании функций strcpy, strcat, strlen и strcmp:
C++
1
#include <cstring>
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.12.2013, 23:13     strcat
Еще ссылки по теме:

C++ функция strcat
C++ Не работает strcat в QtCreator
C++ Как применить strcat?

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

Или воспользуйтесь поиском по форуму:
Evg
Эксперт С++Автор FAQ
 Аватар для Evg
16833 / 5254 / 323
Регистрация: 30.03.2009
Сообщений: 14,145
Записей в блоге: 26
04.12.2013, 23:13     strcat #9
На всякий случай
http://www.cyberforum.ru/blogs/18334/blog97.html
Yandex
Объявления
04.12.2013, 23:13     strcat
Ответ Создать тему
Опции темы

Текущее время: 03:02. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru