2016-08-05 18 views
-4

Ich erstelle ein kleines Skript für Xbox 360 mit C++ und so kann ich keine Bibliotheken wie libcurl verwenden, um von einer Website zu lesen und ich frage mich, ob jemand von euch wissen würde, wie ich könnte Code dieses C# Stück Code:Aus Pastebin in C++ lesen

public static string[] readFromPaste(string string_3) 
     { 
      StreamReader reader = new StreamReader(WebRequest.Create(string_3).GetResponse().GetResponseStream()); 
      string str = reader.ReadLine(); 
      string[] strArray = new string[0xff]; 
      for (int i = 0; (str = reader.ReadLine()) != null; i++) 
      { 
       string[] strArray2 = str.Split(Environment.NewLine.ToCharArray()); 
       strArray[i] = strArray2[0]; 
      } 
      return strArray; 
     } 

in C++ ohne alle Libaries wie libcurl mit? Ich weiß, dass es möglich ist, ich kann es einfach nicht herausfinden, tho! Jede Hilfe wird sehr geschätzt, seit ich so lange auf einer Website in C++ auf einem xbox-Skript gelesen habe. .

+0

Dies ist kein "do it for me bitte" Platz! Außerdem ist xbox wahrscheinlich so aufgebaut, dass Sie dafür das API der Plattform verwenden müssen, was .NET tun kann, aber "blank" C++ nicht kann. Warum benutzt du nicht die richtige Sprache für den Job? –

Antwort

0

enter image description here

C++ Net/CLI-Konsolenanwendung:

Sie sind auf dem richtigen Weg mit StreamReader(). Ich habe zwei Lösungsversionen unter Verwendung StreamReader() gemacht.

Version 1: Dieser Code öffnet eine WebClient() und leitet dann Daten durch es in StreamReader() und speichert das Ergebnis Zeile für Zeile in einem indizierten String-Array.

#include "stdafx.h" 

#using <System.dll> 

using namespace System; 
using namespace System::Net; 
using namespace System::IO; 

int main() 
{ 
    array<String^>^ linefrompastebin = gcnew array<String^>(100000); 
    int i = 0; 
    int maxLines = 0; 

    String^ url = "http://pastebin.com/f7KKzVyf"; 
    WebClient^ client = gcnew WebClient; 
    Stream^ data = client->OpenRead(url); 

    Console::WriteLine("Reading HTML at : " + url + " \n\n"); 
    Stream^ stream = client->OpenRead(url); 
    StreamReader^ reader = gcnew StreamReader(data); 

    linefrompastebin[0] = ""; 

    //Store lines from HTML into string 
    while ((linefrompastebin[i] = reader->ReadLine()) != nullptr){ 
     i++; 
    } 
    maxLines = i; 

    for (i = 0; i < maxLines; i++){ 
     Console::WriteLine("Line " + i + " = " + linefrompastebin[i]); 
    } 

    Console::WriteLine("\n\n"); 
    Console::ReadLine(); 

    return 0; 
} 

Version zwei: öffnet Dieser Code ein WebClient() und dann Rohre Daten durch sie in StreamReader() und speichert das Ergebnis in nur einem einzigen String-Objekt und nicht in einem String-Array.

#include "stdafx.h" 

#using <System.dll> 

using namespace System; 
using namespace System::Net; 
using namespace System::IO; 
int main() 
{ 

    WebClient^ WebBrowserClient = gcnew WebClient; 
    String^ url = "http://pastebin.com/f7KKzVyf"; 
    WebBrowserClient->Headers->Add("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)"); 
    Stream^ data = WebBrowserClient->OpenRead(url); 
    StreamReader^ reader = gcnew StreamReader(data); 
    String^ s = reader->ReadToEnd(); 
    Console::WriteLine(s); 
    data->Close(); 
    reader->Close(); 

    Console::ReadLine(); 
} 
+0

ive bereits "entwickelte" Apps in C# für Xbox, das ist nicht das Problem, das Problem ist, wie kann ich eine Pastebin Rohpaste mit C++ lesen! – Dafuqisthis

+0

dieser Code scheint, was ich suche, aber das Projekt ist für xbox so etwas wie Webclient kann nicht implementiert werden ... ich bekomme all diese Fehler ... http://imgur.com/3gkSDQx – Dafuqisthis

+0

Was genau verwenden Sie zu - Visual Studio 2015 oder XNA Gamestudio oder was auch immer, so kann ich Ihre Bedingungen replizieren. Auf Xbox sind Sie darauf beschränkt, was XNA Ihnen bietet, was eine Teilmenge des .NET-Frameworks ist und der einzige Netzwerkzugriff über die Xbox Live-APIs erfolgt. –