Acessar arquivo via IP

1. Acessar arquivo via IP

Rafael Cucharo
cucharo

(usa Debian)

Enviado em 21/01/2011 - 08:50h

Bom dia VOL!

Dentro de um programa em C, preciso usar o "fopen()" pra acessar um arquivo *.txt que está na minha rede.

Exemplo: //xxx.xxx.xxx.xxx/file.txt

Por enquanto (testes) esse arquivo está em Windows, porém, no meu projeto, ele estará em um sistema embarcado, também contendo um IP. Resumindo, não posso ficar preso ao OS que o arquivo está.

Alguém pode me dar uma luz de como acessar esse aquivo com uma linha de comando pra que eu possa integrar ao meu software em C?

Obrigado!

Rafael Cucharo


  


2. Re: Acessar arquivo via IP

Ezequias Rocha
Ezequias Rocha

(usa Ubuntu)

Enviado em 21/01/2011 - 13:21h

Boa tarde,

De fato nunca fiz nada parecido com isso, porém achei um código na net que usa a biblioteca libcurl, vê se isso te dá alguma luz:



#include <stdio.h>
#include <curl/curl.h>
#include <curl/types.h>
#include <curl/easy.h>
#include <string>
size_t write_data(void *ptr, size_t size, size_t nmemb, FILE *stream)
{
static int first_time=1;
char outfilename[FILENAME_MAX] = "C:\\bbb.txt";
static FILE *outfile;
size_t written;
if (first_time)
{
first_time = 0;
outfile = fopen(outfilename,"wb");
if (outfile == NULL)
return -1;
fprintf(stderr,"The body is <%s>\n",outfilename);
}
written = fwrite(ptr,size,nmemb,outfile);
return written;
}
int main(void)
{
CURL *curl;
FILE *fp;
CURLcode res;
char *url = "http://localhost/aaa.txt";
curl = curl_easy_init();
if(curl)
{
curl_easy_setopt(curl, CURLOPT_URL, "http://localhost/aaa.txt");
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_data);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, fp);
res = curl_easy_perform(curl);
/* always cleanup */
curl_easy_cleanup(curl);
}
return 0;
}

fonte: http://siddhantahuja.wordpress.com/2009/04/12/how-to-download-a-file-from-a-url-and-save-onto-local-...


Embraces!






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts