Brauche eine Funktion die 6 Zahlen einliest und diese in einer Liste abspeichert.
-
out schrieb:
#include <fstream> #include <vector> using namespace std; int main() { ifstream file("config.txt"); vector<int> zahlen; for(int i; file>>i; zahlen.push_back(i)); }std::ifstream file("config.txt"); std::vector<int> zahlen(std::istream_iterator<int>(file), std::istream_iterator<int>());
-
Danke, allerdings funktioniert es immer noch nicht.
Er klickt immer oben links in der Ecke also auf Position 0,0void getConfig() { ifstream file("config.txt"); vector<int> listxy; for(int i; file>>i; listxy.push_back(i)); }int main() { getConfig(); [...] mausklick(); [...] system("PAUSE"); return EXIT_SUCCESS; }void mausklick() { SetCursorPos(listxy[0],listxy[1]); mouse_event(MOUSEEVENTF_LEFTDOWN,listxy[0],listxy[1],0,0); mouse_event(MOUSEEVENTF_LEFTUP,listxy[0],listxy[1],0,0); seconds=605; wait();Das Programm hat funktioniert als ich statt "listxy[1]" z.B. 354 eingegeben hab. Und genau das soll er jetzt auch tun nur das ich die Position eben in der config.txt festgelegt habe...
Lg
Dm3xD
-
Sonne, ich hab deinen Beitrag noch nicht gelesen gehabt. Ich werds gleich ausprobieren. Danke.
Dm3xD
-
Ich finde es richtig schlimm, dass du zwar schon grafisch die Maus herumschubsten willst, aber nichtmal die simple Datei Ein- und Ausgabe beherrschst.
Mein Tipp an dich:
Arbeitete dich erstmal durch die Grundlagen einer Programmiersprache.
-
So hier nochmal:
[code]void getConfig() { std::ifstream file("config.txt"); std::vector<int> listxy(std::istream_iterator<int>(file), std::istream_iterator<int>()); for(int i; file>>i; listxy.push_back(i)); }[/code]
und er sagt als Fehlermeldung beim Compilieren:
30 `istream_iterator' is not a member of `std'
30 expected primary-expression before "int"
30 `istream_iterator' is not a member of `std'
30 expected primary-expression before "int"
-
" "
-
Programmierfachprofi schrieb:
Ich finde es richtig schlimm, dass du zwar schon grafisch die Maus herumschubsten willst, aber nichtmal die simple Datei Ein- und Ausgabe beherrschst.
Mein Tipp an dich:
Arbeitete dich erstmal durch die Grundlagen einer Programmiersprache.Ich bin gut ohne die Sachen ausgekommen ... bisland

Danke ^^
Dm3xD
-
Dm3xD schrieb:
So hier nochmal:
[code]void getConfig() { std::ifstream file("config.txt"); std::vector<int> listxy(std::istream_iterator<int>(file), std::istream_iterator<int>()); for(int i; file>>i; listxy.push_back(i)); }[/code]
und er sagt als Fehlermeldung beim Compilieren:
30 `istream_iterator' is not a member of `std'
30 expected primary-expression before "int"
30 `istream_iterator' is not a member of `std'
30 expected primary-expression before "int"Du vergisst
<iterator>einzubinden.
Außerdem ist Zeile 3 in dermain()unnötig! Meins war ein kompletter Ersatz von outs Version.
-
habe alles so gemacht wie ich sollte:
#include <cstdlib> #include <iostream.h> #include <stdio.h> #include <stdlib.h> #include <windows.h> #include <time.h> #include <fstream> #include <stdexcept> #include <vector> #include <interator>alles included

void getConfig() { std::ifstream file("config.txt"); std::vector<int> listxy(std::istream_iterator<int>(file), std::istream_iterator<int>()); for(int i; file>>i; listxy.push_back(i)); }Funktion sollte doch auch so sein wie hier oder?
und trotzdem 2 Fehlermeldungen beim kompilieren... was is denn jetzt falsch???
31 `istream_iterator' is not a member of `std'
31 expected primary-expression before "int"es liegt warscheinlich auch einfach an mir aber wenn du noch en Vorschlag hast

Dm3xD
-
habe alles so gemacht wie ich sollte:
#include <interator>
alles included
Ganz sicher?
-
Hallo Dm3xD,
void getConfig() { ifstream file("config.txt"); vector<int> listxy; for(int i; file>>i; listxy.push_back(i)); } // <== hier wird mit Verlassen des Scopes das Objekt 'listxy' gelöscht und damit gehen die eingelesenen Daten verlorenvoid mausklick() { SetCursorPos(listxy[0],listxy[1]); // <== wo ist 'listxy' definiert? - Du verwendest doch nicht etwa globale Variablen? mouse_event(MOUSEEVENTF_LEFTDOWN,listxy[0],listxy[1],0,0); mouse_event(MOUSEEVENTF_LEFTUP,listxy[0],listxy[1],0,0); seconds=605; wait();Die Variable
listxyinmausklickhat mit der VariablelistxyingetConfignichts zu tun.Tipp: arbeite Dich zunächst in die Grundlagen einer Programmiersprache ein.
:xmas2: Werner
-
@Dm3xD
Hinweis:
mouse_event ist eine veraltete WIN API Funktion benutzt lieber SendInput.mouse_event
http://msdn.microsoft.com/en-us/library/windows/desktop/ms646260(v=vs.85).aspxMSDN schrieb:
Note This function has been superseded. Use SendInput instead.
SendInput:
http://msdn.microsoft.com/en-us/library/windows/desktop/ms646310(v=vs.85).aspx