Forum huvudsida -> Programmering -> bloodshed
Sidor: 1
ghostz | 19:44 - 14:e Juni 2006 | Post #1 | |
Medlem Inlägg: 4 Skicka PM |
,,r det någon som vet vart man kan få tag i en äldre verision av Devs bloodshed c++, typ 1,5 år gammal. Tankade ner den senaste verisionen och mina gamla program funkar inte(fattar inte varför). Tackarrrrrrrrrr! ------------------------- Ingen signatur! |
Nissebosselasse | 12:53 - 15:e Juni 2006 | Post #2 | |
Medlem Inlägg: 490 Skicka PM |
Vad får du för felmeddelande? Använder du några extra bibliotek (SDL, etc.), som kanske måste ominstalleras/ställs in på nytt igen? ------------------------- http://pushingcows.se Gula Nallen |
ghostz | 13:56 - 15:e Juni 2006 | Post #3 | |
Medlem Inlägg: 4 Skicka PM |
Vad jag gorde var att installera nyaste bloodshed sedan öppnade jag ett nytt projekt och klistrade in gamla koden, när jag sedan kompilerade fick jag en massa fel. Jag har lyckats att få igenom kompileringen men programmet kan inte öppna och läsa från en textfil. Nedan följer koden som jag har problem med. Den ska öppna och läsa från filen "test4" Filen är en textfil och är sparad i ANSI kod, jag har även provat att spara den i olika format. /////////////////////////////////////////////////////////// #include <iostream> #include <fstream> #include <string.h> #include <string> #include <stdlib.h> #include <float.h> #include <math.h> #include <stdio.h> #include <iomanip> using namespace std; int skrap; char *c; char *r; FILE *f1; void loadData() { cout <<"går in i loadData() : "<<endl; if ((f1 = fopen("test4", "r")) ==NULL) { printf("Error opening file\n"); cin>>skrap; exit(1); } } int main (int argc, char *argv[]) { loadData(); cin>>skrap; } ------------------------- Ingen signatur! |
Nissebosselasse | 00:45 - 16:e Juni 2006 | Post #4 | |
Medlem Inlägg: 490 Skicka PM |
Ligger filen test4 i samma mapp som projektet? ------------------------- http://pushingcows.se Gula Nallen |
ghostz | 11:16 - 16:e Juni 2006 | Post #5 | |
Medlem Inlägg: 4 Skicka PM |
japp! ------------------------- Ingen signatur! |
Nissebosselasse | 11:41 - 16:e Juni 2006 | Post #6 | |
Medlem Inlägg: 490 Skicka PM |
Okej, jag testade att kompilera koden (i Visual C++ 6.0), skapade en fil vid namn "test4", och allt fungerade. Den filen du skapade som hette "test4", du är säker på att Windows inte lagt till en filändelse? Under "Mappalternativ" (fliken "Visning") finns ju ett alternativ som heter "Dölj filnamnstillägg för kända filtyper", och om du har sparat filen från Anteckningar, så kanske det har lagt till ändelsen ".txt", som sedan döljs av Windows, så att det bara ser ut som att filen enbart heter "test4" (när den i själva verket heter "test4.txt")? En annan sak jag tänkte på var: det verkar på din kod som att du gör ett C++-program, och då borde du använda std::fstream istället för det äldre system med fopen (som kommer från C). Jag skrev om din kod helt i C++: #include <iostream> #include <fstream> void loadData() { std::cout <<"går in i loadData() : " << std::endl; // Deklarera ett ifstream-objekt, dvs, // som läser in data från en fil (input-filestream). // Motsatsen heter ofstream (output-). std::ifstream f1; // Försök öppna filen f1.open ("test4"); // Gick det att öppna den? if (!f1.is_open()) { // Nej! std::cout << "Error opening file." << std::endl; int skrap; std::cin >> skrap; return; } // Kommer vi så här långt så är allt okej. // Vi behöver inte stänga filhandtaget, eftersom det // sker automatiskt i ifstream-klassens destruktor // (den metod som anropas när objektet "förstörs" - // i det här fallet vid funktionens slut). // Om vi däremot VILL stänga filen manuellt, så // gör man så här: f1.close (); } int main (int argc, char *argv[]) { int skrap; loadData(); std::cin >> skrap; // Returnerar statuskod till operativssystemet // (0 = allt okej) return 0; } Du borde kanske skriva om loaddata så att den returnerar sant eller falskt (bool) istället för ingenting (void)? På så vis kan du i koden kolla huruvida det gick att ladda in allting, typ: // Ladda in lite data som måste finnas för // att spelet ska kunna fungera. if (!loaddata()) { // Gick inte, skriv felmeddelande och avsluta } ------------------------- http://pushingcows.se Gula Nallen |
ghostz | 15:21 - 16:e Juni 2006 | Post #7 | |
Medlem Inlägg: 4 Skicka PM |
Jag bockar och bugar! ,,ndrade i mappalternativ och nu funkar det som det ska. ------------------------- Ingen signatur! |
Sidor: 1
Forum huvudsida -> Programmering -> bloodshed
Du får inte posta i den här tråden | Till toppen
Datum
2024-05-07 08:12
Vecka: 19
Besökare
Inloggade: 0
Gäster: 605
Medlemmar
Medlemmar: 53576
Forum
Senaste inlägget: HAHA MÄNNISKAN LEVER ÄN (13:45 - 18:e Januari 2019, av Hetzz)
Wiki
Senaste ändringen:
3D (rev: 1, tid: 09:40 - 13:e November 2015)
Chatt
#blinkenlights @ Libera.Chat
Gratis shellkonton för IRC, webbsidor mm.