Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » malloc?!?

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: [ 1 ] [ 2 ] [ 3 ] > 4 <
030
27.12.2003, 00:22 Uhr
ao

(Operator)


Es scheint so zu sein, dass es unter XP nicht möglich ist, in ein verstecktes File zu schreiben ("w+" öffnet das File und überschreibt den Inhalt, und das scheint die Aktion zu sein, die fehlschlägt). Ob das an XP liegt oder am Filesystem oder an noch was anderem, kann ich mangels Vergleichsmöglichkeiten nicht untersuchen.

Als Abhilfe fällt mir ein, vor dem Öffnen das "Hidden"-Attribut zu löschen und hinterher wieder zu setzen. Leider kenne ich keine ANSI-C-Funktion dazu, aber es gibt im Win32Api SetFileAttributes sowie die entsprechende Abfragefunktion GetFileAttributes.

ao
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
031
27.12.2003, 01:17 Uhr
Pablo
Supertux
(Operator)


Ich habe extra Windows gestartet und folgendes ausprobiert:

C++:
#include <stdio.h>
#include <stdlib.h>
int main()
{
    FILE* f;
    f = fopen("C:\\boot.ini", "r");
    if (!f) return 1;
    while(!feof(f)) {
        putc(fgetc(f),stdout);
    }
    fclose(f);
    system("pause");
    return 0;
}



Das ging. Die Datei konnte gelesen werden.
Aber

C++:
#include <stdio.h>
#include <stdlib.h>
int main()
{
    FILE* f;
    f = fopen("C:\\boot.ini", "w");
    if (!f) return 1;
    fprintf(f, "\nHallo\n");
    fclose(f);
    system("pause");
    return 0;
}


ging nicht, ich konnte allerdings nicht schreiben.

Vielleicht liegt es an XP.
Du könntest mit attrib die Rechte ändern, schreiben und wieder ändern.

C++:
system("attrib -s-h C:\\boot.ini");
f = fopen("C:\\boot.ini", "w+");
...
fclose(f);
system("attrib +s+h C:\\boot.ini");


Aber scheint so, als würde attrib auch nicht helfen, vielleicht funktioniert es bei dir.
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!

Dieser Post wurde am 27.12.2003 um 01:18 Uhr von Pablo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
032
27.12.2003, 22:46 Uhr
Checker



ok danke werde es morgen mal testen
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: [ 1 ] [ 2 ] [ 3 ] > 4 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: