Я хочу создать функцию, которая ищет в текстовом файле и заменяет отрицательные числа (независимо от того, как долго) на ноль, числа приклеиваются к буквам, в некоторых случаях символы, и они не находятся на отдельных строках.
They idea I had is to create an array and check if there is a match after I find a - sing, if there is I use a for loop to get all the numbers after the - into a (dead-end) if you could say that. I think for the most part I am on the right track, but I just don't know how to execute it.
void change_negative_numbers(FILE *fp_in, FILE *fp_out)//function
{
int flag1 = false; // flag for checking
int flag2 = false; // flag for checking
char searched_s[10] = {'0','1','2','3','4','5','6','7','8','9'}; // array to match searching
char ch; // to save character by char.
while ((ch = fgetc(fp_in)) != EOF) // till end of file
{
if (ch == '-')
{
flag1 = true; // finding minus
}
else if (flag1 == false) // if there is no negative number
{
fputc(ch,fp_out); // print if not
}
if (ch == searched_s && flag1 == true) // if flag1 = 1;
{
for (; ch == searched_s; ch++) //dead end
{
}
fprintf(fp_out,"0"); //prints 0 in place of negative number in theory
flag1 = false; //normalize flag
}
}
}
//Input: "hhh ddd -55ttt uuuhhh6666"
//Expected output: "hhh ddd 0ttt uuuhhh6666"
//Actual output: "hhh ddd"