#include <stdio.h>#include <stdlib.h>#include <string.h>#define MAX_BUFF_LEN 56const char* const greeting = "Your message is: ";void usage();int main(int argc, char* argv[]){ char buff[MAX_BUFF_LEN]; if(argc <= 1) usage(); strcpy(buff,greeting); strncat(buff,argv[1],MAX_BUFF_LEN); printf(buff);}void usage(){ printf("Problem1 [message]"); exit(-1);}
const char* const
argv[1]
argv[0] - абсолютный путь к самой программе
argv[1], argv[2] и т.д. - дополнительные параметры, передаваемые ехеих количество указано в argc
int a[4];int x = a[4]; // разве это переполнение буфера? О_о// диапазон индексов данного массива от 0 до 3, а я указываю 4 индекс
C++ (Qt)strncat(buff, argv[1], MAX_BUFF_LEN - strlen(greeting) - 1);
C++ (Qt)char * buf = new char[strlen(greeting) + strlen(argv[1]) + 1];strcpy(buf, greeting);strcat(buf, argv[1]);printf(buf);...delete [] buf;