Code:
#include <stdio.h>
#define MAX 80
char ncpy(char * orig, char * add, int n);
int main(void)
{
char ins[MAX+1], bee[MAX+1];
int n, L=0;
int done = 0;
printf("Input a line [q to quit]\n");
while(!done)
{
fgets(bee, sizeof bee, stdin);
if (strcmp("q", bee) == 0)
done = 1;
else if (strlen(bee) != 0)
{
puts("Choose length to be copied");
scanf("%d", &n);
// printf("%s %d", bee, n);
ins[L] = ncpy(ins + L, bee, n);
printf("\n%s\n", ins);
L += n;
printf("Input a line [q to quit]\n");
}
}
return 0;
}
char ncpy(char * orig, char * add, int n)
{
int i;
for(i=0; i<n; i++)
orig[i] = add[i];
return (*orig);
}
resulted in
[Session started at 2007-07-27 19:46:58 -0400.]
Input a line [q to quit]
bam
Choose length to be copied
3
bam$Ë$\303\377\377\377\377\377\377
Input a line [q to quit]
Choose length to be copied
forgot string.h first run but adding it didn't help