Versuchen, zu finden und ersetzen Sie eine Zeichenfolge aus der Datei in C

    void replaceString(char* file, char* str, char* replace)
    {
        FILE* fp = fopen(file,"rt");
        char buffer[BUFFER];
        while(fgets(buffer,BUFFER,fp)!=NULL)
        {
            char* s;
            s=strstr(buffer,str);
            if(s!=NULL)
            {
                strcpy(s,replace);
                printf("%s is replaced by %s\n",str,replace);
            }
        }
        fclose(fp);
    }
int main(int argc, char **argv)
{
    char* file= "text.txt";
    replaceString(file,"is","was");
    printFile(file);
    return 0;
}

Jungs, ich bin neu auf Datei-Operationen, die versuchen, zu finden und ersetzen einer Zeichenfolge durch eine andere. bitte helfen Sie mit! Ich versuche, die Datei zu öffnen in der "rt" - Modus. Dies sah im Beispiel-code. Nicht sicher über die mode. Ich vermute, dass ich eine temp.txt Datei zu tun! Kann es getan werden in einer einzigen Datei ohne Verwendung irgendeiner anderen Datei??

Nur wenn der Ersatz in der gleichen Länge wie die Zeichenfolge ersetzt. Und du wirst Lesen müssen, bis auf fseek und fwrite.
Kann jemand bieten, den source-code dazu??
Das Prinzip der SO ist, dass Sie Fragen stellen, die gegeben werden kann, eine vernünftige Antwort und kann anderen helfen. "Können Sie source-code, dies zu tun?" ist sehr einfach in gewisser Weise mit "ja, ich kann, aber ich will nicht!" - aber das ist nicht wirklich hilfreich für jemand anderes!
"Kann es getan werden in einer einzigen Datei ohne Verwendung irgendeiner anderen Datei" --> ja (selbst wenn die string-Länge unterscheiden), aber es ist mehr anspruchsvoll dann das schreiben in eine andere Datei. In der Regel ist es besser und sicherer ist die Verwendung einer anderen Datei sollte der Betrieb err Weg, back-up, usw.

InformationsquelleAutor Soumyajit Roy | 2013-02-24

Schreibe einen Kommentar