Описание тега strcat

Стандартная функция C, которая добавляет копию исходной строки к целевой строке.
1 ответ

Как уменьшить уязвимость strcat и strcmp?

Я знаю, что зал семьи strcpy, strcat а также strcmp иметь уязвимость переполнения буфера, чтобы смягчить strcpy Уязвимость кто-то может использовать strlcpy, что насчет strcat а также strcmpЕсть ли безопасные версии этих функций или кто-то должен пр…
14 янв '14 в 18:34
2 ответа

Задание требует, чтобы я собрал имя с 2 scanf's

Итак, вот мой первый вопрос по компьютерному программированию для ультра начинающих в C. Мне нужно настроить его так, чтобы кто-то мог ввести свое полное имя на входе. Вот часть спецификации - "Вам нужно будет немного подумать, чтобы выяснить, как в…
21 май '12 в 00:06
1 ответ

Добавление строки в массив символов в определенной позиции, дающей переполнение буфера в программировании на c

Я очень плохо знаком с программированием на c, и для школьного задания мне нужно написать программу, которая принимает строку в качестве входных данных и добавляет буквы "ay" к каждому слову, начинающемуся с согласного в начале этого слова. Намекнут…
20 окт '17 в 12:25
2 ответа

Почему strlen() в этом случае возвращает на единицу меньше ожидаемого числа?

Пример: { int a,b; char s1[]="ABCDEF"; char s2[]="ZWXYZ"; strcpy(s1,s2); strcat(s1,"L#@"); a=strlen(s1); b=strlen(s2); printf("%d%d",a,b); } Возвращает 8 и 5. Я ожидал, что strlen вернет 9. Я думаю, что # или @ должны быть виновником здесь. Однако, …
20 ноя '17 в 10:20
2 ответа

strcat добавляет второй параметр дважды

class Vars{ public: char *appData = getenv("AppData"); string datadir = strcat(appData, "\\Bob"); }; cout << v.datadir; выходы "C:\Users\Adam\AppData\Roaming\Bob\Bob" вместо "C:\Users\Adam\AppData\Roaming\Bob" Он всегда добавляет второй параме…
30 май '13 в 12:45
6 ответов

Добавление места в strcat

У меня есть две строки char str1[41] е char str2[41], Если я использую strcat Функция для их объединения Я получаю уникальную строку без пробела, вместо этого между ними будет пробел. это может быть способ: strcat(strcat(str1, " "),str2) Существует …
08 авг '13 в 11:25
4 ответа

Обратная строка в malloc

Мне нужно определить "слово" в этом вопросе, чтобы быть любой последовательностью символов, которая не содержит пробела или нулевого символа. Например, строка “Hello World” будет содержать 2 слова. Однако на самом деле слово может быть пустым, т. Е.…
01 фев '16 в 07:20
1 ответ

Плохое поведение с strcat

Я реализовал следующую функцию для копирования каталогов. int copy_dir(char *source, char *destination, char *file_name) { DIR *dir_ptr = NULL; struct dirent *direntp; char temp_dest[strlen(destination)+1]; char temp_src[strlen(source)+1]; strcat(de…
18 дек '14 в 10:08
4 ответа

Как я могу strcat один символ для массива символов в C++

Я хочу получить одного персонажа из cin.get() и добавьте его в массив символов. Я использую strcat, но один символ имеет ошибку. Пожалуйста, помогите мне, если вы знаете. спасибо за все ответы. void main (void) { char e[80]="hi"; char c; cin.get(c);…
17 дек '14 в 10:05
5 ответов

Путаница в "функции strcat в C предполагает, что строка назначения достаточно велика для хранения содержимого исходной строки и ее собственной".

Итак, я прочитал это strcat Функция должна использоваться осторожно, так как строка назначения должна быть достаточно большой, чтобы содержать содержимое своей собственной и исходной строки. И это было верно для следующей программы, которую я написа…
15 авг '18 в 14:21
7 ответов

strcat вставить вторую строку в начале первой строки

Я использую strcat() соединить две строки, такие как: #include <string.h> #include <stdio.h> int main(int argc, char *args[]) { char *str1; // "456" char *str2; // "123" strcat(str1,str2); printf("%s",str1); } я получил: 456123 но мне ну…
26 май '13 в 13:26
3 ответа

У меня проблемы с добавлением значения переменной char в строку в C

Я пытался использовать strcat(array, &charVariable;), чтобы добавить charVariable в массив, когда я отображаю массив, он отображает это ╠╠╠╠╠╠╠╠. Может кто-нибудь мне помочь?
09 ноя '12 в 01:30
3 ответа

Удаление символа из строки, выдающей странный вывод

Мой код ниже производит странный вывод. Я не совсем уверен, от чего зависит. Моя программа... этот метод, в частности, состоит в том, чтобы удалить любое вхождение char c из строки. После проверки, если строка [0] равна char, это удалит вхождение. В…
22 сен '15 в 22:13
1 ответ

C++ strcat игнорирует аргумент?

Новичок здесь. Я пытаюсь объединить аргументы программы на C++ в один массив символов. По какой-то причине strcat выборочно игнорирует argv[2] в цикле: #include <cstring> int main(int argc, char *argv[]) { char *argstr = argv[1]; for(int i=2; …
01 фев '16 в 08:59
1 ответ

strcat не добавляет строку в массив символов / строку

ld r2 ld r6 Итак, в основном для нашего назначения нам нужно преобразовать программу ассемблера в шестнадцатеричный код с использованием C. Все работает для операций add, и и jmp, по некоторым причинам, для операций LD, двоичного преобразования реги…
15 май '14 в 01:15
3 ответа

Поведение стека Strcat

При запуске следующего преднамеренного кода разрушения стека strcat копирует значение источника ровно десять раз. #include <stdio.h> #include <stdlib.h> int main() { char a[16]; char b[16]; char c[32]; strcpy(a, "abcdefghijklmnop"); prin…
09 май '14 в 00:33
3 ответа

strcat создает аварийную программу (0xc0000005)

Мне нужно нарисовать линию символов так долго, как я хочу. Поэтому я написал функцию для этой цели: void fDrawLine(int length) { int i; char * compLine = (char *) malloc(WINDOW_WIDTH + 2); for(i = 0; i < length; i++) strcat(compLine, "-"); fDrawS…
19 дек '14 в 12:15
3 ответа

Как объединить две строки (одна переменная), но при этом можно повторно использовать один из аргументов (переменную)?

Я знаю, что этот вопрос был задан, но ответы, на которые я смотрел, не имели отношения к моему делу. В конце моей программы, куча файлов открыта для записи. Для простоты я ограничил список всего двумя. Переменная dirPath аргумент командной строки, п…
19 июл '14 в 03:57
3 ответа

Как strcat() и read() работают с '\0' в C

Вот сначала весь мой код: 1. #include <stdio.h> 2. #include <stdlib.h> 3. #include <unistd.h> 4. #include <sys/wait.h> 5. #include <string.h> 6. int main(int argc, char *argv[]) { 7. int p[2]; // p[0]: file descriptor f…
28 июл '18 в 23:53
2 ответа

Что не так с printf в моем коде strcat?

Я сделал эту программу для эмуляции функциональности strcat, но есть ошибка с printf, которую я не понимаю... Вот код: #include <stdio.h> char *mystrcat(char *s1, char *s2); int main(void) { char *s1,*s2; s1="asdad"; s2="asdad"; s1=mystrcat(s1…
13 дек '16 в 21:09