gSoap w .NET

dział ogólny

gSoap w .NET

Nowy postprzez husky83 » sobota, 26 lutego 2011, 13:38

Mam pewien problem...

Chcę stworzyć pewną aplikację w Visual Studio Express C++, który to korzysta z .net (nie musi, ale w moim przypadku muszę mieć .net).

I teraz tak: w zwykłym C++ jest ok, ale w .net w czasie kompilacji pojawia się błąd:

stdsoap2.cpp
..\..\test\wsdl\stdsoap2.cpp(818): error C2664: 'sprintf' : cannot convert parameter 2 from 'System::String ^' to 'const char *'
No user-defined-conversion operator available, or
Cannot convert a managed type to an unmanaged type
..\..\test\wsdl\stdsoap2.cpp(882): warning C4244: 'return' : conversion from 'std::streamsize' to 'size_t', possible loss of data



Ma ktoś pomysł co z tym zrobić?
Google tylko odpowiedziało, że to przez .NET (co potwierdza się w moich testach), ale nie znalazłem żadnego (działającego) rozwiązania...

Znalazlem
:arrow: COŚ TAKIEGO
Ale nie wiem jak to ugryźć, żeby ruszyło...
Avatar użytkownika
husky83
Bladawiec
Bladawiec
 
Posty: 31
Dołączył(a): czwartek, 26 marca 2009, 11:06
Podziękował : 2
Otrzymał podziękowań: 0
Kompilator: C++ Builder
    UbuntuMozilla

Re: gSoap w .NET

Nowy postprzez polymorphism » sobota, 26 lutego 2011, 14:14

No a to:
KOD cpp:     UKRYJ  
char text[666];
IntPtr p = Marshal::StringToHGlobalAnsi(clistr);
sprintf(text, static_cast<char*>(p.ToPointer()));
Marshal::FreeHGlobal(p);

nie działa?

___
p.s. tylko nie mów, że sprintf'a używasz do kopiowania tekstu ;)
C++ Reference - opis wszystkich klas STL-a i funkcji C.
Avatar użytkownika
polymorphism
Doświadczony Programista ● Moderator
Doświadczony Programista ● Moderator
 
Posty: 2156
Dołączył(a): piątek, 19 grudnia 2008, 13:04
Podziękował : 0
Otrzymał podziękowań: 200
System operacyjny: Windows 8.1
Windows 10
Linux Mint 21.1
Kompilator: Visual Studio
Visual Studio Code
MSYS2 (MinGW, clang)
g++
clang
Gadu Gadu: 0
    Windows XPFirefox


Powrót do Ogólne problemy z programowaniem

Kto przegląda forum

Użytkownicy przeglądający ten dział: Google [Bot] i 4 gości