Första inlägget för mig, så hej alla :). Hittade inget nybörjarforum och inget c-forum, så jag hoppas det är ok här. Välkommen! 1. Point taken. Jag har inte varit så länge inom programmering, men jag har råkat ut för motsvarande inom elektronikdesign. Universellt problem, inte kul.. <b>>Har en känsla av att den här diskussionen gått förut, så jag försöker glida förbi lite omärkligt *vissel*</b> Här har du en mycket läsvärd artikel om strängar i Windows och dess API-funktioner. Tack alla. Om nåt ska tilläggas så vart jag lite småkär i mbstowcs() och wcstombs() ;).Nybörjarkurs i windows-typer?
Jag sitter och prövar på windows-programmering, med visual studio. Prövar lite enklare win32-funktioner, skapar filer och så. Men jag får problem, och här är ett exempel:
void minfunk(char *name)
char *path;
...
Skriv till name i path
...
CreateFile(path,...);
...
}
Studio varnar om inkompatibla typer, "char [] vs LPWSTR", och liknande saker. Grejen är att LPTSTR, LPWCSTR och allt vad win32-funktionerna vill ha in är nytt för mig. Finns det nån tutorial, bok eller nåt som går igenom det här? Dom "windows-skolor" jag hittat på nätet går nästan jämt direkt på hur man öppnar ett fönster och fyller det med pryttlar. Inte grunderna(*grunderna*), som typomvandlingar char * -> LPWSTR t.ex.Sv: Nybörjarkurs i windows-typer?
Det finns en rad kommentarer:
1. Windows native grejer är ofta onödiga. Det finns gott om bibliotek som abstraherar bort interna OS-grejer, vilket gör att din kod även funkar på andra operativsystem och på ett mycket mer systematiskt och snyggt sätt. Första steget bör alltid vara en snabb googlesökning efter sånt.
2. I det här fallet räcker det nog med det som finns i C:s standardbibliotek? f_open eller vad de heter.
3. C++ är i mitt tycke ett mycket bättre val, ger ännu fler valmöjligheter och mycket mer systematik, men det är klart att det kan finnas några anledningar till att inte använda det. (Effektivitet är inte en anledning.)
4. LPWSTR är en effekt av windows "trevliga" vana att använda ungersk notation. Det är i mitt tycke förjävligt. Kan ha fel på några bokstäver men: LP står för Long Pointer, W för wide, STR för string. Detta är en wide string som byggs upp av en "w_char []".
Mitt tips är att söka på bara förkortningarna så hitta du nog översättningsfunktioner etc.Sv:Nybörjarkurs i windows-typer?
2. Absolut. Borde väntat mig det påpekandet när jag skrev CreateFile() =D. Jag halkade pga ett bananskal in på en kurs på högskolan, dvs fristående student i en kurs som nog planerats lite med programmen i bakhuvet. Så mina förkunskapskrav var/är typ lite i ofas.
Det är alltså skollabbar, som ska göras i C, och för windows.
3. Har en känsla av att den här diskussionen gått förut, så jag försöker glida förbi lite omärkligt *vissel*
4. Ungersk notation hade jag inte hört. Är det att alla förkortade typnamn låter som ungerska 0:)? Borde ha funnits nån sida som började gå igenom windows från det här ungefär.
Får tacka för tipset också, det gav mycket gott. Fattar inte att jag inte tänkte på det, bara. Jisses..Sv: Nybörjarkurs i windows-typer?
Närå, det är ingen speciellt hård diskussion om vi säger så. Anledningen du har (att det ska göras i C) är fullgott skäl, så då är det bara att acceptera.
<b>>Ungersk notation hade jag inte hört. Är det att alla förkortade typnamn låter som ungerska 0:)? Borde ha funnits nån sida som började gå igenom windows från det här ungefär.</b>
Kanske man skulle kunna tro. =)
Nä, det är någon ungrare som kom på att det var en bra ide att inleda varje variabelnamn med variabelns typ. Efterhand togs det upp av ett par olika företag, men idag är det på väg bort. Man kom på att det inte var en så bra ide. Dels blir koden väldigt plottrig, dels hjälper det i stort sett inte. I WinAPI så finns det tyvärr kvar.
Edit:
Här har du ett par ställen du kan kika på:
http://www.codeproject.com/string/tconvert.asp
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=849851&SiteID=1
http://www.gamedev.net/community/forums/topic.asp?topic_id=395521Sv: Nybörjarkurs i windows-typer?
http://www.codeproject.com/string/cppstringguide1.asp
Lycka till.;)Sv:Nybörjarkurs i windows-typer?