I'm new to programming and I'm trying to make a function that can concatenate determined number of characters to another string. It's counting the number of characters correctly but it wont display like the task wants. Anyone could explain me why?
An example would be (expected output):
String 1: Testing
String 2: String
N: 4 (Value is asked for the user)
Result: TestingStri
My code so far is this:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void ConcatenateString(char *string, char *string2);
int main()
{
char string[100];
char string2[100];
ConcatenateString(string, string2);
DisplayStrings(string, string2);
}
void ConcatenateString(char *string, char *string2)
{
int N;
system("cls");
printf ("First string: ");
gets(string);
fflush(stdin);
printf ("Second string: ");
gets(string2);
printf("Number of characters: ");
scanf ("%d", &N);
int i;
int count = 0;
for(i=0;string2[i];i++)
{
count++;
}
while (count < N)
{
string2[count++] = string2[i];
}
strcat(string,string2);
}
void DisplayStrings(char *string, char *string2)
{
printf("\nFirst String:\n");
printf("%s\n", string);
printf("\nSecond String:\n");
printf("%s\n", string2);
}
The wrong (actual) output:
String 1: Testing
String 2: String
N: 4
Output: TestingString
It's not really displaying 4 characters from string 2 (for example) that I ask for.