Pardon ben #görünce otomatik C# olarak düşündüm.
2 yol var C'de yapmak için. Ya for ile her satırı okuyup karakter karakter bakarak substring ile düzenliceksin. Ya da aşağıdaki yol ile. Ben olsam aşağıdakini seçerdim, çok daha kısa ve kolay bir yol.
İlk olarak text dosyasından her satırdaki string'i oku ve char'a ata.
// Kullanimi: string, replace edilmesini istediğin karakter,replace etmek istediğin karakter
// char a[] = "1#kadir#3847"
// replace(a, '#', ' ');

char *replace(char *s, char replace, char replaceto)
{
    char *p = s;

    while(*p)
    {
        if(*p == replace)
            *p = replaceto;

        ++p;
    }

    return s;
}