|
You last visited: Today at 02:33
Advertisement
Testdatei speichern
Discussion on Testdatei speichern within the C/C++ forum part of the Coders Den category.
11/23/2011, 22:52
|
#1
|
elite*gold: 0
Join Date: Nov 2011
Posts: 8
Received Thanks: 0
|
Testdatei speichern
Hallo leute,
brauch mal wieder eure hilfe,
ich möchte im c++ ein programm schreiben das nichts anderes macht als eine text in eine editor datei schreibt und anschlissend die datei an einem vorgegebenen punkt abspeichert!! und jz der clue an der sache ich will nämlich jz in einem anderen programm die editor datei wieder auslesen!.. Geht das?? bzw.. welche funktion brauch ich und wie muss ich die anwenden weis vl. jemand ein gutes beispiel..
lg Phil
|
|
|
11/23/2011, 23:08
|
#2
|
elite*gold: 0
Join Date: Feb 2011
Posts: 1,206
Received Thanks: 736
|

sicher geht das.
examples findest du @ google.
wenn du allerdings 2 gleichzeitig laufende prozesse miteinander kommunizieren lassen willst, ist das ein eher schlechter ansatz, dafür gibt es Pipes.
gibts auch i-wo hier auf ePvp nen tut für, kram mal die tut section durch...
|
|
|
11/24/2011, 00:40
|
#3
|
elite*gold: 0
Join Date: Nov 2011
Posts: 8
Received Thanks: 0
|
So ok das mit dem editor ein und rücklesen hab ich jetzt kapiert und habe gute funktionen gefunden... aber jetzt brauch ich trotzdem hilfe.. in der rückgelesenen datei steht ja was drinen (eine Zahl) so nun ist die rückgelesene datei aber ein String jetzt würde ich gerne wissen wie ich das in eine zahl umwandeln kann und dann in eine variable geben kann.. weil ich hatte ja schon eine idee aber die geht garnet da kommt vom windows ein fehler!!
find im google nichts bitte hilfe..
danke
lg Phil
|
|
|
11/24/2011, 10:17
|
#4
|
elite*gold: 0
Join Date: Nov 2007
Posts: 62
Received Thanks: 17
|
|
|
|
11/24/2011, 11:19
|
#5
|
elite*gold: 0
Join Date: Nov 2011
Posts: 8
Received Thanks: 0
|
ja im google hab ich schon wie ein blöder gesucht ich schreib mal code rein was ich überhaupt machen will!
Code:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <fstream>
#include <iostream>
#include <sstream>
using namespace std;
int main()
{
ofstream out("witz.txt");
out<<"2328"<<endl;
int nZahl;
ifstream in("witz.txt");
while(in.eof()!=true) //eof gibt an, wann die txt fertig ausgelesen ist
{
char ch[4]={in.get()};
int StrToInt(char* ch);
{
int result;
result = strtol(ch, (char**)0, 10);
cout<<result;
}
};
cin.get();
};
so das ist mein code.. und es funktioniert ja auch aber wenn ich jetzt convertiere dann kommt nicht 2328 raus sonder 232800 raus.. und wenn ich jetzt die variable result durch 100 dividire kommt 00000 raus.. was mach ich falsch??
lg Phil
|
|
|
11/24/2011, 12:06
|
#6
|
elite*gold: 0
Join Date: Nov 2007
Posts: 62
Received Thanks: 17
|
Code:
// From stackoverflow.com
// http://stackoverflow.com/questions/194465/how-to-parse-a-string-to-an-int-in-c
enum CONVERT_RESULT { SUCCESS, OVER, UNDER, INCONVERTIBLE };
CONVERT_RESULT strtoi(int &i, char const *s, int base = 0)
{
char *end;
long l;
errno = 0;
l = strtol(s, &end, base);
if ((errno == ERANGE && l == LONG_MAX) || l > INT_MAX)
{
return OVER;
}
if ((errno == ERANGE && l == LONG_MIN) || l < INT_MIN)
{
return UNDER;
}
if (*s == '\0' || *end != '\0')
{
return INCONVERTIBLE;
}
i = l;
return SUCCESS;
}
usage:
Code:
char* str = "25554";
int number;
if (strtoi(number, str) == SUCCESS)
{
printf("number: %d\n", number);
}
else
{
printf("error!");
}
|
|
|
11/24/2011, 12:58
|
#7
|
elite*gold: 0
Join Date: Nov 2011
Posts: 8
Received Thanks: 0
|
So ok jetzt hab ich das so gemacht, aber ich komme mit deinem code immernoch nicht ans ziel!
Code:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <fstream>
#include <iostream>
#include <sstream>
using namespace std;
enum CONVERT_RESULT { SUCCESS, OVER, UNDER, INCONVERTIBLE };
CONVERT_RESULT strtoi(int &i, char const *s, int base = 0)
{
char *end;
long l;
errno = 0;
l = strtol(s, &end, base);
if ((errno == ERANGE && l == LONG_MAX) || l > INT_MAX)
{
return OVER;
}
if ((errno == ERANGE && l == LONG_MIN) || l < INT_MIN)
{
return UNDER;
}
if (*s == '\0' || *end != '\0')
{
return INCONVERTIBLE;
}
i = l;
return SUCCESS;
}
int main()
{
ofstream out("witz.txt");
out<<"2328"<<endl;
int nZahl;
ifstream in("witz.txt");
int number;
while(in.eof()!=true) //eof gibt an, wann die txt fertig ausgelesen ist
{
char ch[20]={in.get()};
if (strtoi(number, ch) == SUCCESS)
{
printf("number: %d\n", number);
}
else
{
printf("error!");
}
};
cout<<number;
system("PAUSE");
return 0;
};
Das problem ist bei deiner Lösung es geht zwar, aber 1. bei der ausführung schreibt es mir immer noch 2 errors ins cmd fenster. 2. ich will die zahlen nicht einzeln da stehen haben sondern die ganze zahl die ich im editor abgespeichert habe zb.: 230 ist im editor abgespeichert und die lese ich jetzt im programm ein und dann will ich die zahl genau so wie sie jetzt dasteht in eine int variable einlesen das ich zb.: mit der zahl wieder rechnen kann!!
lg Philipp
hat keiner eine idee?
bitte um hilfe!! danke
lg Phil
|
|
|
11/24/2011, 19:55
|
#8
|
elite*gold: 0
Join Date: May 2009
Posts: 827
Received Thanks: 471
|
Code:
#include <iostream>
#include <string>
#include <sstream>
int main()
{
int asNumber;
std::string asString = "3";
std::stringstream strstream(asString);
strstream >> asNumber;
std::cout << asNumber+1337;
return 0;
}
|
|
|
11/24/2011, 20:10
|
#9
|
elite*gold: 0
Join Date: Oct 2008
Posts: 1,637
Received Thanks: 1,119
|
bei verwendung der crt ist atoi auch eine schöne funktion
|
|
|
11/25/2011, 09:53
|
#10
|
elite*gold: 0
Join Date: Nov 2011
Posts: 8
Received Thanks: 0
|
Hallo danke für die antwort bin leider immer noch nicht schlauer geworden.
Nein atoi geht leider nicht..
und Nopex dein code ist zwar gut aber er gibt mir immer noch die zahlen alle einzeln aus und das will ich nicht.. die zahl die im editor steht muss komplett in einer int stehen .. also wenn im editor 230 steht muss in der int 230 stehen nicht. alles zahlen einzel.. bei deinem programm stehen dann alles zahlen einzeln.. er durchläuft einfach nur denn code bis er alle zahlen raus kopiert hat.. und ja..
hier der code..
Code:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <fstream>
#include <iostream>
#include <sstream>
#include <string>
using namespace std;
int main()
{
ofstream out("witz.txt");
out<<"3328"<<endl;
int nZahl;
ifstream in("witz.txt");
int x;
int asNumber;
while(in.eof()!=true) //eof gibt an, wann die txt fertig ausgelesen ist
{
char test[4]={in.get()};
std::string asString(test);
std::stringstream strstream(asString);
strstream >> asNumber;
std::cout << asNumber<<endl;
}
system("PAUSE");
return 0;
};
lg Phil
so ok jetzt hab ich es anders programmiert..
Code:
#include <iostream>
#include <fstream>
#include <string>
#include <sstream>
using namespace std;
int main() {
// Hier Schreibe ich in die editor datei
fstream fin( "list.txt" );
fin << "30";
// Hier lese ich es wieder zurück
string buffer;
string tmp_array[200];
int i=0;
while (fin.good()) {
getline(fin,buffer);
tmp_array[i]=buffer;
i++;
}
fin.close();
cout << buffer << endl;
int asNumber;
std::stringstream strstream(buffer);
strstream >> asNumber;
asNumber = asNumber * 2;
cout << asNumber<< endl;
system("PAUSE");
return 0;
};
so aber hier habe ich jetzt anderes problem und zwar.. wenn ich jetzt die datei nur zurücklese und mit der hand in denn editor was schreibe.. dann geht es..
aber wenn ich übers programm einen wert in die text datei schreiben lasse,kommt das auch an im editor und es steht auch richtig drinnen aber im programm kommt eine komplett falsche zahl an (im cmd: -33832960) und meine frage ist was mache ich bloß falsch???
lg Phil
|
|
|
11/25/2011, 13:10
|
#11
|
elite*gold: 0
Join Date: May 2009
Posts: 827
Received Thanks: 471
|
Quote:
|
und Nopex dein code ist zwar gut aber er gibt mir immer noch die zahlen alle einzeln aus und das will ich nicht.. die zahl die im editor steht muss komplett in einer int stehen .. also wenn im editor 230 steht muss in der int 230 stehen nicht.
|
Genau das tut der Code, wenn man es richtig macht..
|
|
|
Similar Threads
|
Hilfe in Cinema 4d ? Datei Speichern mit transparentem hintergrund Speichern ?
09/29/2011 - elite*gold Trading - 10 Replies
^this.
Melde euch bei mir, wenn es klappt, bekommt ihr bisschen egold.
|
[Maps Speichern] Wie kann ich Maps speichern?
10/22/2009 - Metin2 Private Server - 37 Replies
Hey Com,
ich wollte gern mal wissen, wie ich eine map speichern kann?
Ich verstehe das hier nicht: http://img8.imageshack.us/img8/1862/33332332323325 5.jpg
Was muss ich wo rein schreiben:
Als Beisp. Wenn ich nun Map1 Rotes Reich wäre was müsste ich das rein schreiben damit die Map mit allen neuen zB NPC gespeichert wird?
|
NPC auf Map speichern
10/11/2009 - Metin2 Private Server - 16 Replies
Hab jetzt einige NPCs gespawt, wenn ich den Server jetzt aber neu hochfahre sind ie ja weg :(
Gibts ne möglichkeit die Map zu "speichern?"
mfg freddy
|
All times are GMT +1. The time now is 02:35.
|
|