user2368229
user2368229

Reputation: 150

Reading data from an online text file in C++

Alright. What I'm after is, what seems to me, fairly simple. I've got File I/O down to a fine art for basic text files.

But, what I need now, is a way to read a text file that's online. Let's say, something like: http://www.iamawebsite.com.au/file.txt

I CAN download the file and store it locally, but that will produce a lot more pain for me in the future, and more-so for redistribution of the end program, so if I can get around in doing so, I will be forever grateful. (also, if possible, to refrain from any additional libraries or anything. If I have to use one, I will, but if there's a way around that, I'm happy)

I have looked around for a while on ways to do similar tasks, but they seem to be going for more than what I'm after, and skipping the small steps which are the ones I can't quite get.

(If it helps, using Windows 8, Visual Studio 2010 Ultimate, needs to work in Windows 7 and 8 if possible)

Upvotes: 3

Views: 2562

Answers (3)

user2368229
user2368229

Reputation: 150

I tried many different things, and I couldn't get anything to work without over complicating things to a ridiculous level. I also tried libCurl but I couldn't manage to link it properly, not sure why.

I ended up using a combination of Batch and Powershell scripts, simple and powerful, and best of all it works.

If anybody is interested:

Batch script:

powershell -ExecutionPolicy Bypass "& "fileUrl\name.ps1"

Powershell script:

$webClient = New-Object System.Net.WebClient;
$url = "http://www.iamawebsite.com.au/iamafile.txt";
$file = "whereToSaveFile\desiredNameOfFile.txt";
$webClient.DownloadFile($url, $file);

I have both my Batch and Powershell files in the same directory, just to make it a little easier on myself

Thanks!

Upvotes: 2

Jerry Coffin
Jerry Coffin

Reputation: 490108

One way would be to use InternetOpen, thenInternetOpenUrl, and finally InternetReadFile.

Upvotes: 0

Gauthier Boaglio
Gauthier Boaglio

Reputation: 10242

Try URLDownloadToCacheFile function maybe.

Upvotes: 0

Related Questions