Joins two strings, check size first - C String

C examples for String:String Function

Description

Joins two strings, check size first

Demo Code

#include <stdio.h>
#include <string.h>
#define SIZE 30// w ww  .  j a  v  a  2 s . c  o m
#define BUGSIZE 13

char * s_gets(char * st, int n);

int main(void){
    char flower[SIZE];
    char addon[] = "this is a test.";
    char bug[BUGSIZE];
    int available;
    
    puts("flower name:");
    s_gets(flower, SIZE);

    if ((strlen(addon) + strlen(flower) + 1) <= SIZE)
        strcat(flower, addon);

    puts(flower);

    puts("bug name:");

    s_gets(bug, BUGSIZE);

    available = BUGSIZE - strlen(bug) - 1;
    strncat(bug, addon, available);
    puts(bug);
    
    return 0;
}

char * s_gets(char * st, int n){
    char * ret_val;
    int i = 0;
    
    ret_val = fgets(st, n, stdin);
    if (ret_val){
        while (st[i] != '\n' && st[i] != '\0')
            i++;
        if (st[i] == '\n')
            st[i] = '\0';
        else // must have words[i] == '\0'
            while (getchar() != '\n')
                continue;
    }
    return ret_val;
}

Result


Related Tutorials