Как заполнить пробелы между текстом на языке C - PullRequest
0 голосов
/ 08 февраля 2019

У меня есть текст, и я хочу заполнить его данными в C

char arr[100]="Ahmed %s salah %s is %d";

Я хочу добавить данные вместо% s и% d, чтобы они были

arr="Ahmed Elsayed salah Elsenbawy is 16";

1 Ответ

0 голосов
/ 28 февраля 2019

просто используйте sprintf или snprintf.

Использование char * в этом случае вызывает переполнение буфера.

#include <stdio.h>
#include <string.h>
int main ()
{
    char arr[100]="Ahmed %s salah %s is %d";
    char temp[100];
    // fill the temp buffer
    sprintf(temp,arr, "Elsayed","Elsenbawy",16);
    //then copy 
    strncpy(arr,temp,100);
    printf("%s\n",  arr);
    return 0;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...