C :: Best Way To Copy Paste A String Between Two Files


I have one tab seperated file and i whish to change values in one column and then copy the entire row (including the changed value) into anothe file.

file :

x y z sdfsdgnsdfgndfjgndfbsgdf
x y z dkjfgdsbfvgsdfvg
x y z ksdnfsdfbsdnfsdvjsdbvjsdjfnsdbfubsdfjsdbfuibsdfsdfujbsduf

the way i am doing it right now:

while (fgets(line, sizeof line, list) != NULL){
result = sscanf(line, "%ld %ld %d %10000s", &one,& two, &three,string);
if (results == 4){
// change three
//print: one two three string

the problem is that the string in the file is of variable size and sometimes it is bigger then my char string[10001] array which then i need to resize and it gets messy. Is there a way to somehow , once identified first three numbers (and modified) just to read the rest on a character base and the print it character by character into a new file so that i can avoid string array completly.