|
You last visited: Today at 10:38
Advertisement
Float aus Ini Datei lesen fehlerhaft?
Discussion on Float aus Ini Datei lesen fehlerhaft? within the C/C++ forum part of the Coders Den category.
05/02/2013, 09:33
|
#1
|
elite*gold: 104
Join Date: Oct 2012
Posts: 2,720
Received Thanks: 593
|
Float aus Ini Datei lesen fehlerhaft?
Hey,
Ich möchte gerne ein Float aus einer Ini Datei lesen und nutze dafür GetPrivateProfileString + atof(), leider gibt es mir als ausgelesenen Wert nur "123" aus obwohl da ein ganz anderer Wert in der Ini-Datei drinsteht..
An was könnte das liegen? 123 ist ja nicht grade ne Typische Zahl die bei Fehler gesetzt wird 
Die Ini ist folgendermaßen aufgebaut:
Quote:
[WP1]
X=-9117.052734
Y=-39.992107
Z=90.691994
|
Grüße
|
|
|
05/02/2013, 14:35
|
#2
|
elite*gold: 50
Join Date: Mar 2010
Posts: 1,373
Received Thanks: 521
|
Hast du dir mal das Eingelesene als Text ausgeben lassen? Ich meine nur um heraus zu finden ob der Fehler beim Konvertieren des Strings zum Float-Wert oder direkt beim Einlesen passiert.
|
|
|
05/02/2013, 14:46
|
#3
|
elite*gold: 0
Join Date: Feb 2013
Posts: 1,137
Received Thanks: 869
|
Wie immer: Mit nem Debugger erstmal ausmachen, wo der Fehler auftritt.
Gruß
|
|
|
05/02/2013, 15:53
|
#4
|
elite*gold: 104
Join Date: Oct 2012
Posts: 2,720
Received Thanks: 593
|
Quote:
Originally Posted by jacky919
Hast du dir mal das Eingelesene als Text ausgeben lassen? Ich meine nur um heraus zu finden ob der Fehler beim Konvertieren des Strings zum Float-Wert oder direkt beim Einlesen passiert.
|
Als Text ises ebenfalls 123, Frage mich aber wie der Wert 123 zustande kommen soll.. das ist meiner Meinung nach total unlogisch 
Und Debugging bringt ja eher wenig, hab ich schon versucht, Nichts rausgefunden gehabt.
|
|
|
05/02/2013, 18:00
|
#5
|
elite*gold: 5
Join Date: Sep 2006
Posts: 385
Received Thanks: 218
|
Lass mich in meine Glaskugel schauen:
Dein Fehler liegt in Zeile 25, ist recht offensichtlich!
Falls du ernsthaft Hilfe erwatest solltest du uns deinen Code zeigen...
|
|
|
05/02/2013, 23:17
|
#6
|
elite*gold: 104
Join Date: Oct 2012
Posts: 2,720
Received Thanks: 593
|
Ist ja nicht wirklich viel Source wo man besonders viel falsch machen könnte.. alles im Source hab ich ja oben erwähnt aber gut, hier ma der Source^^
Quote:
#include <iostream>
#include <windows.h>
#include <conio.h>
#include <string>
using namespace std;
int main()
{
char X[100];
GetPrivateProfileString("WP1","X","NULL",X,100,"Co ords.ini");
cout<<atof(X);
cin.get();
}
|
|
|
|
05/03/2013, 00:18
|
#7
|
elite*gold: 0
Join Date: Feb 2011
Posts: 1,206
Received Thanks: 736
|
lass doch einfach mal den string den du ausgelesen hast ausgeben...
Quote:
Code:
if (strcmp("NULL", X)) // blabla
Quote:
|
Originally Posted by msdn
Return value
The return value is the number of characters copied to the buffer, not including the terminating null character.
|
etc...
und benutz ordentliche variablen/section/etc. namen...
|
|
|
05/03/2013, 00:36
|
#8
|
elite*gold: 104
Join Date: Oct 2012
Posts: 2,720
Received Thanks: 593
|
Quote:
Originally Posted by Dr. Coxxy
lass doch einfach mal den string den du ausgelesen hast ausgeben...
|
Hab ich, wie schon erwähnt ist der String angeblich "123", und das kann ja nicht zutreffen.
Quote:
Originally Posted by Dr. Coxxy
und benutz ordentliche variablen/section/etc. namen...
|
Variablennamen passen doch.. die Ini soll nen Waypoint Profile sein wo X , Y & Z Koordinaten drinstehn die er abarbeiten soll, WP = Waypoint.
Was ist daran nicht ordentlich?..
Was ist für die X Koordinate z.b zutreffender als X als Variablen-name?
|
|
|
05/03/2013, 01:44
|
#9
|
elite*gold: 0
Join Date: Feb 2011
Posts: 1,206
Received Thanks: 736
|
zeig mal die ini.
und vergiss nicht, wenn du direkt aus der ide per f5 das prog startest ist der arbeitspfad nicht der pfad der .exe.
nimm mal anstatt
Quote:
das:
Quote:
|
|
|
05/03/2013, 13:17
|
#10
|
elite*gold: 104
Join Date: Oct 2012
Posts: 2,720
Received Thanks: 593
|
Quote:
Originally Posted by Dr. Coxxy
zeig mal die ini.
und vergiss nicht, wenn du direkt aus der ide per f5 das prog startest ist der arbeitspfad nicht der pfad der .exe.
nimm mal anstatt
das:
|
Ini sieht so aus:
Code:
[Walkbot Profile]
[WP1]
X=-9117.052734
Y=-39.992107
Z=90.691994
Die Ini selbst erstelle ich mit nem anderm Programm von mir was mir die Coords meines Charakters von nem Spiel alle paar Sekunden speichert und dann als Waypoints in die Ini packt.
Habe jetzt aber nur 1 Waypoint in der Ini drin zum test, um Fehler von meinem anderem Programm auzuschließen.
Und Die Ini hab ich selbstverständlich auch ins Verzeichniss reingepackt von der Compilierten Binary - wär ja peinlich wenn nicht 
Ansonsten hab ich aber keine Ahnung was da noch der Fehler sein könnte,
als ich damals mal das gleiche benutzt hatte (nur ohne float Zahlen sondern normalen Strings) ging alles wunderbar, und da hatte ich es genauso gemacht gehabt.
|
|
|
05/03/2013, 13:29
|
#11
|
elite*gold: 0
Join Date: Feb 2011
Posts: 1,206
Received Thanks: 736
|
Quote:
Originally Posted by Cambios
blabla
|
jetzt noch ".\\Coords.ini" draus machen, wie ich bereits geschrieben habe, dann klappts auch.
EDIT:
Quote:
Originally Posted by Cambios
Und Die Ini hab ich selbstverständlich auch ins Verzeichniss reingepackt von der Compilierten Binary - wär ja peinlich wenn nicht
|
ich meinte damit, dass wenn du das programm aus ner ide startest, wie z.b. visual studio das workingdir woanders ist, als das directory der .exe - er also die ini im gleichen ordner nicht finden wird.
|
|
|
05/03/2013, 16:03
|
#12
|
elite*gold: 104
Join Date: Oct 2012
Posts: 2,720
Received Thanks: 593
|
Es lag doch ernsthaft am ".\\Coords.ini".. wtf^^
Vielen Dank, das es daran liegt hätte ich als letztes gedacht.. so ne Kleinigkeit..ohman^^
Peinlich..
|
|
|
 |
Similar Threads
|
Daten aus -gms-Datei lesen
03/11/2011 - AutoIt - 5 Replies
Hallo liebe Com.,
Ich habe folgendes Problem:
Ich versuche jetzt schon die ganze Zeit aus einer .gms-Datei die Koordinaten auszulesen um diese dann weiter zu verarbeiten...
mein jetziges Script:
#include <File.au3>
_FileReadToArray(@ScriptDir&"\nfs.gms&qu ot;, $aFile) ;Zeilenweise einlesen
$count = 1
For $i = 1 To $aFile ;Zeilen durchlaufen
$aLine = StringSplit($aFile, " ", 3) ;am Leerzeichen splitten
|
.Bin Datei lesen?
09/30/2009 - General Coding - 14 Replies
Hallo!
Ich habe ein Problem und zwar das ich habe eine .bin datei wenn ich diese mit Iso Buster öffne erhalte ich zwar die Datei und kann sie lesen aber da sind dann sehr viele zeichen!
Kann mri vllt wer helfen?
|
Autoit Daten aus Datei Lesen
07/05/2009 - AutoIt - 18 Replies
Hallo,
ich hab mal eine Frage.
Ich habe eine Datei an die 300kb groß. Es sind alles einträge die mit einem ";" abgetrennt sind. Sie stehen alle in einer Line zusammen.
So komm ich aber nicht an alle Einträge herran, weil die Variable einfach zu groß wird.
Wenn Jemand einen Rat weiß wäre ich sehr dankbar.
Mfg Dung3on
|
All times are GMT +1. The time now is 10:38.
|
|