notepad naprawia xml'e ?

0

Witam,
pewna frustracja zmusila mnie do napisania posta, bo sam juz nie moge znalezc rozwiazania.
Pracuje obecnie nad pewnym projektem. Program w c++ zapisuje mi dane do pliku xml przy uzyciu ofstrem... IE, jak kazdy inny program czyta plik wszystko jest okay.
Problem pojawiam sie podczas importowania danych z xml przez calkowicie inny program. Mianowicie nic nie wczytuje.
Tu wyszukalem pewien trik, a nawet 2, mianowicie:

  1. jezeli otworze mojego xml notatnikiem i zapisze (ctrl +S) bez jakichkolwiek zmian, zamkne i ponownie importuje, to dane sa odczytywane. Moze ktos wytlumaczyc dlaczego?

  2. Jezeli te same dane (juz jako gotowy xml) skopiuje z notatnika i zbuduje taka skladnie:
    plikOut<<"tuSkopiowaneDane";
    to import danych tez dziala

wydaje mi sie ze wystepuje jakis problem zapisem, ale nie jestem pewien.
ogolnie moj zapis wyglada nastepujaco:
open();
plikOut<<string dane1;
plikOut<<string dane2;
....
close();

Gdzie moze lezec problem (zadnego erroru nie ma etc, a warningi sa poprawne), caly kod bedzie niemozliwy do wklejenia :D

0

porownaj BINARNIE pliki oryginalny i ten po zapisaniu przez notepad'a. zaloze sie ze maja inne locale i niektore znaki beda sie roznic. np. na poczatku ktoregos moze byc sygnatura unicode..

0

Pewnie ten inny program jest źle napisany i nie radzi sobie z nie windosowymi zakończeniami linii, a notepad po prostu zapisuje plik w windosowym standardzie zakończenia linii. Jak poprzednik polecam porównanie pliku przed i po modyfikacji (Beyond Compare lub odpowiednie narzędzie w Total Commander).

//quetz: racja, \r\n vs \n tez mozliwe

0

ok w najblizszym czasie porownam te pliki. W najblizszym czasie dam znac co z tego wyszlo. Poki co mam jeszcze jeden problem, ale to juz nie natury programistycznej, a bardziej logicznej.
Jak tylko znajde lub nie blad to napisze.
Pzdr

0

Sprawdzilem oba pliki binarnie, byly identyczne.
Po wyjsciu nowszej wersji programu, ktory importowal moje dane problem jest juz prawie naprawiony. W nowym pliku nie wczytuje danych za pierwszym razem, a za kazdym nastepnym jest opercja wykonana z powodzeniem.
Wynika, ze problem lezy po stronie zewnetrznego oprogramowania. Blad zglosze w najblizsyzm czasie.
Dzieki za pomoc, temat do zamkniecia.

1 użytkowników online, w tym zalogowanych: 0, gości: 1