Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Read txt-file

Frage Entwicklung C und C++

Mitglied: ChristianWaltjen

ChristianWaltjen (Level 1) - Jetzt verbinden

31.08.2006, aktualisiert 15.09.2006, 4746 Aufrufe, 6 Kommentare

Hy.
Ich versuche gerade ein txt-file auszulesen und habe mir zu Testzwecken ein comandozeilen-Programm geschrieben.
Allerdings bekomme ich nicht das Ergebniss, das ich erwahrtet habe.

Im Moment möchte ich einfach nur das File auslesen und die Namen ausgeben.
Vielleicht kann mir ja irgendwer weiterhelfen.

Das File das ich auslesen möchte sieht wie folgt aus:

P-Render01
P-Render02
P-Render03
P-Render04
P-Render05
P-Render06
P-Render07

Das ist mein Code:

#include "stdafx.h"
#include <iostream>
#include <cstring>
#include <fstream>
#include <afxcoll.h>
using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
CStringArray rechnerNames;
int RechnerCounter = 0;
char inWord[20];
ifstream inFile;
inFile.open("RechnerFile.txt");
if (!inFile){
return 1;
}
while (inFile >> inWord){
rechnerNames.Add( inWord );
cout << *rechnerNames[RechnerCounter] << endl;
RechnerCounter++;
}
inFile.close();
rechnerNames.FreeExtra();
return 0;
}

Falscher output im Moment:
80
80
80
80
...


Vielen Dank im vorraus:
ChristianWaltjen
Mitglied: GreyFox
13.09.2006 um 16:16 Uhr
Probiere es mal stat *rechnerNames[RechnerCounter]
rechnerNames.GetAt[RechnerCounter]
STL halt ^^

Beim Rest sehe ich eigentlich keine Probleme ...
Bitte warten ..
Mitglied: ChristianWaltjen
14.09.2006 um 12:04 Uhr
Hallo GreyFox,
erstmal Danke für den Tip.

Ich habe jetzt die Zeile:
cout << *rechnerNames[RechnerCounter] << endl;
durch
cout << rechnerNames.GetAt(RechnerCounter) << endl;
ersetzt

Und bekomme jetzt:

00435818
0043B2F0
0043B500
0043B558
0043B5B0
...

Aber nicht die Namen aus der Datei, obwohl diese korrekt in inWord abgelegt werden.
Bitte warten ..
Mitglied: ChristianWaltjen
14.09.2006 um 12:30 Uhr
Für mich sieht das so aus, als ob die Convertierung von char[20] nach CString nicht einwandfrei ist und die Adresse von ersten zeichen gespeichert wird.
Bitte warten ..
Mitglied: GreyFox
14.09.2006 um 16:33 Uhr
dann entweder per Typecast sprich (LPCSTR) oder per GetBuffer oder per per Format und und und
Aber eigentlich ist die Konvertierung von Char zu CString nahtlos ...

Tatsache ist ...
00435818
0043B2F0
0043B500
0043B558
0043B5B0
das sind wirklich Adressen
0043B500
0043B558
Das sind 11 Byte abstand ... d.h. 10 Byte Zeichen Plus Terminierung ... CString brauch wahrscheinlich einen char Pointer ^^
Bitte warten ..
Mitglied: ChristianWaltjen
15.09.2006 um 12:57 Uhr
Also ich habe jetzt 'SetAtGrow' benutzt das ganze Debugged (dummes neudeutsch).
Der Name scheint ordungsgemäss in dem CStringArray gespeichert zu werden:

http://www.puppeteers.de/kunden/Christian/DeBug.jpg

GetData ist natürlich nicht richtig.

Fragt sich jetzt nur noch wie ich an den Namen komme.
Ich bekomme nämlich immernoch die Adresse des ersten Zeichens.

Output:

00435df8
Bitte warten ..
Mitglied: ChristianWaltjen
15.09.2006 um 13:34 Uhr
So Ich hab jetzt die convertierungen voneinander getrennt. Und alles Debuggt
Jetzt sieht der Code aus wie folgt:

...
while (inFile >> inWord){
rechnerNames.SetAtGrow( RechnerCounter, inWord );
CString outElement = rechnerNames[RechnerCounter];
cout << outElement << endl; # 'outElement' enthällt laut Debugger: "P-Render01"
RechnerCounter++;
}
...

Output:
00435DF8

Also langsam verstehe ich es nicht mehr.
Bitte warten ..
Ähnliche Inhalte
Entwicklung
gelöst Get ip from external txt file and use in vbscript (5)

Frage von thankusomuch zum Thema Entwicklung ...

Windows 10
Batch: Copy file.txt Lokaler Drucker (1)

Frage von fluluk zum Thema Windows 10 ...

Microsoft Office
Excel File - an einer Stelle nur Lesen und an anderer Bearbeiten (1)

Frage von LenzDan zum Thema Microsoft Office ...

Batch & Shell
gelöst Einen Teil eines Textpfades aus einer TXT per Batch entfernen!? (3)

Frage von kampen zum Thema Batch & Shell ...

Neue Wissensbeiträge
Google Android

Cyanogenmod alternative Downloadquelle

(5)

Tipp von Lochkartenstanzer zum Thema Google Android ...

Batch & Shell

Batch als Dienst bei Systemstart ohne Anmeldung ausführen

(5)

Tipp von tralveller zum Thema Batch & Shell ...

Sicherheits-Tools

Sicherheitstest von Passwörtern für ganze DB-Tabellen

(1)

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Heiß diskutierte Inhalte
Windows Server
gelöst Exchange HyperV Prozessorlast (19)

Frage von theoberlin zum Thema Windows Server ...

Hardware
16-20 Port POE Switch mit VLAN (19)

Frage von thomasreischer zum Thema Hardware ...

Windows Server
Server mit Netzwerkaussetzern (15)

Frage von SarekHL zum Thema Windows Server ...

Windows Userverwaltung
Nicht Administratoren Installation von Software erlauben (14)

Frage von WinLiCLI zum Thema Windows Userverwaltung ...