Ĺadny brzuch
Wiatm
1. Dlaczego gdy dodam plik nagłówkwy shlobj.h do projektu w Turbo C++, kompilator wywala błędy w tym pliku:
[C++ Error]shlobj.h(409): E2303 Type name expected
[C++ Error] shlobj.h(409): E2139 Declaration missing ;
[C++ Error] shlobj.h(484): E2238 Multiple declaration for 'FOLDERSETTINGS'
[C++ Error] shlobj.h(494): E2238 Multiple declaration for 'FVSHOWINFO'
[C++ Warning] shlobj.h(922): W8054 Style of function definition is now obsolete
[C++ Error] shlobj.h(922): E2275 { expected
[C++ Error] shlobj.h(923): E2257 , expected
[C++ Error] shlobj.h(1302): E2238 Multiple declaration for 'SHELLFLAGSTATE'
[C++ Error] shlobj.h(1402): E2303 Type name expected
[C++ Error] shlobj.h(1405): E2303 Type name expected
2. Fstream. Dlaczego w tym środowisku funkcja readsome, zwraca 0? Dla przykładu taki sam kod w DEV-C++ albo C++Builder 6, działa normalnie, tzn: gdy plik jest otwarty z powodzeniem funkcja zwraca wartość większa od zera i w buforze znajdują się dane. W Tc++ zawsze zwraca zero
#include <fstream> ... char bufor [20]; int rozm; std::fstream file; file.open("C:\\plik.dat"); if(!file.is_open()) { ShowMessage("Nie udalo sie tworzyc pliku!"); return; } rozm = file.readsome(bufor, 20); ShowMessage(IntToStr(rozm));
Z góry dzięki za odpowiedz.
Użytkownik Konrad_st edytował ten post 28 kwiecień 2007, 12:05
#include <iostream.h>
#include <fstream.h>
file.open(NazwaPliku, ios::in)
Użytkownik stan24 edytował ten post 28 kwiecień 2007, 14:26
Nie w tym rzecz... Tak też kombinowałem i nic. W Trurbo C++ zawsze zwraca zero i bufor jest pusty. W innych środowiskach jest wszystko OK.
Np. Funkcja read działa normalnie, w buforze znajduja sie dane. Natomiast readsome nie. A różnią sie ny chyba tylko tym że druga z nich zwraca ilosc danych zapisanych do bufora w bajtach.
Użytkownik Konrad_st edytował ten post 28 kwiecień 2007, 15:31
Niestety nie bede mogl Ci pomoc. Nie posiadam TC++.
Pzdr
zanotowane.pl doc.pisz.pl pdf.pisz.pl zsf.htw.pl
1. Dlaczego gdy dodam plik nagłówkwy shlobj.h do projektu w Turbo C++, kompilator wywala błędy w tym pliku:
[C++ Error]shlobj.h(409): E2303 Type name expected
[C++ Error] shlobj.h(409): E2139 Declaration missing ;
[C++ Error] shlobj.h(484): E2238 Multiple declaration for 'FOLDERSETTINGS'
[C++ Error] shlobj.h(494): E2238 Multiple declaration for 'FVSHOWINFO'
[C++ Warning] shlobj.h(922): W8054 Style of function definition is now obsolete
[C++ Error] shlobj.h(922): E2275 { expected
[C++ Error] shlobj.h(923): E2257 , expected
[C++ Error] shlobj.h(1302): E2238 Multiple declaration for 'SHELLFLAGSTATE'
[C++ Error] shlobj.h(1402): E2303 Type name expected
[C++ Error] shlobj.h(1405): E2303 Type name expected
2. Fstream. Dlaczego w tym środowisku funkcja readsome, zwraca 0? Dla przykładu taki sam kod w DEV-C++ albo C++Builder 6, działa normalnie, tzn: gdy plik jest otwarty z powodzeniem funkcja zwraca wartość większa od zera i w buforze znajdują się dane. W Tc++ zawsze zwraca zero
#include <fstream> ... char bufor [20]; int rozm; std::fstream file; file.open("C:\\plik.dat"); if(!file.is_open()) { ShowMessage("Nie udalo sie tworzyc pliku!"); return; } rozm = file.readsome(bufor, 20); ShowMessage(IntToStr(rozm));
Z góry dzięki za odpowiedz.
Użytkownik Konrad_st edytował ten post 28 kwiecień 2007, 12:05
#include <iostream.h>
#include <fstream.h>
file.open(NazwaPliku, ios::in)
Użytkownik stan24 edytował ten post 28 kwiecień 2007, 14:26
Nie w tym rzecz... Tak też kombinowałem i nic. W Trurbo C++ zawsze zwraca zero i bufor jest pusty. W innych środowiskach jest wszystko OK.
Np. Funkcja read działa normalnie, w buforze znajduja sie dane. Natomiast readsome nie. A różnią sie ny chyba tylko tym że druga z nich zwraca ilosc danych zapisanych do bufora w bajtach.
Użytkownik Konrad_st edytował ten post 28 kwiecień 2007, 15:31
Niestety nie bede mogl Ci pomoc. Nie posiadam TC++.
Pzdr