Ir para o conteúdo
3spig4

Ler txt de um url

Mensagens Recomendadas

3spig4

como posso ler um txt de um url??

exemplo:

int main () {
 FILE * pFile;
 long lSize;
 char * buffer;
 size_t result;

 pFile = fopen ("http://172.16.4.152/teste.txt" ,"r");
 if (pFile==NULL) {fputs ("File error",stderr); exit (1);}
 else printf("ficheiro lido\n");
 system("PAUSE");
 return 0;
}

sei que não posso usar o fopen penso que tenho que adicionar uma biblioteca mas não sei qual é nem como usar.

depois quero guardar os dados do ficheiro numa string.

cumprimentos.

Editado por pmg
GeSHi

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
3spig4

já pesquisei sobre essa biblioteca mas não encontrei como usar para este efeito será que podes facultar um exemplo.

obrigado

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Rui Carlos

Fica aqui o exemplo de utilização apresentado aqui:

/***************************************************************************
*								  _   _ ____  _
*  Project					 ___| | | |  _ \| |
*							 / __| | | | |_) | |
*							| (__| |_| |  _ <| |___
*							 \___|\___/|_| \_\_____|
*
* Copyright © 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
* are also available at http://curl.haxx.se/docs/copyright.html.
*
* You may opt to use, copy, modify, merge, publish, distribute and/or sell
* copies of the Software, and permit persons to whom the Software is
* furnished to do so, under the terms of the COPYING file.
*
* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
* KIND, either express or implied.
*
***************************************************************************/
/* Example source code to show how the callback function can be used to
* download data into a chunk of memory instead of storing it in a file.
*/

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#include <curl/curl.h>

struct MemoryStruct {
 char *memory;
 size_t size;
};


static size_t
WriteMemoryCallback(void *contents, size_t size, size_t nmemb, void *userp)
{
 size_t realsize = size * nmemb;
 struct MemoryStruct *mem = (struct MemoryStruct *)userp;

 mem->memory = realloc(mem->memory, mem->size + realsize + 1);
 if(mem->memory == NULL) {
/* out of memory! */
printf("not enough memory (realloc returned NULL)\n");
return 0;
 }

 memcpy(&(mem->memory[mem->size]), contents, realsize);
 mem->size += realsize;
 mem->memory[mem->size] = 0;

 return realsize;
}


int main(void)
{
 CURL *curl_handle;
 CURLcode res;

 struct MemoryStruct chunk;

 chunk.memory = malloc(1);  /* will be grown as needed by the realloc above */
 chunk.size = 0;	/* no data at this point */

 curl_global_init(CURL_GLOBAL_ALL);

 /* init the curl session */
 curl_handle = curl_easy_init();

 /* specify URL to get */
 curl_easy_setopt(curl_handle, CURLOPT_URL, "http://www.example.com/");

 /* send all data to this function  */
 curl_easy_setopt(curl_handle, CURLOPT_WRITEFUNCTION, WriteMemoryCallback);

 /* we pass our 'chunk' struct to the callback function */
 curl_easy_setopt(curl_handle, CURLOPT_WRITEDATA, (void *)&chunk);

 /* some servers don't like requests that are made without a user-agent
 field, so we provide one */
 curl_easy_setopt(curl_handle, CURLOPT_USERAGENT, "libcurl-agent/1.0");

 /* get it! */
 res = curl_easy_perform(curl_handle);

 /* check for errors */
 if(res != CURLE_OK) {
fprintf(stderr, "curl_easy_perform() failed: %s\n",
		curl_easy_strerror(res));
 }
 else {
/*
 * Now, our chunk.memory points to a memory block that is chunk.size
 * bytes big and contains the remote file.
 *
 * Do something nice with it!
 *
 * You should be aware of the fact that at this point we might have an
 * allocated data block, and nothing has yet deallocated that data. So when
 * you're done with it, you should free() it as a nice application.
 */

printf("%lu bytes retrieved\n", (long)chunk.size);
 }

 /* cleanup curl stuff */
 curl_easy_cleanup(curl_handle);

 if(chunk.memory)
free(chunk.memory);

 /* we're done with libcurl, so clean it up */
 curl_global_cleanup();

 return 0;
}

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
3spig4

obrigado é um código complexo, vou estudar esta biblioteca agora não vai ser fácil de interpretar.

o que eu pretendia era bem mais simples :)

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
mateus8

Boas só por estarem em falar url. Como faço para exportar os dados dum programa para um ficheiro html?

Atentamente Mateus

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo

Boas só por estarem em falar url. Como faço para exportar os dados dum programa para um ficheiro html?

Atentamente Mateus

alteras a terminação do ficheiro criado


IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
mateus8

É que o prof acho que não quer assim porque ele disse para criar uma tabela no word e depois gravar em html ,depois seguir esse código e ir escrevendo no ficheiro.

Atentamente Mateus

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo

É que o prof acho que não quer assim porque ele disse para criar uma tabela no word e depois gravar em html ,depois seguir esse código e ir escrevendo no ficheiro.

Atentamente Mateus

hum ??


IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
mateus8

Por exemplo se criar uma tabela no word e depois gravar em html vai aparecer o código de html ,seguidamente tenho de fazer a leitura desse ficheiro porque nesse ficheiro consta o código de criação da tabela onde vou inserir os dados do programa

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo

Como faço para exportar os dados dum programa para um ficheiro html?

seguidamente tenho de fazer a leitura desse ficheiro porque nesse ficheiro consta o código de criação da tabela onde vou inserir os dados do programa

afinal queres ler um ficheiro HTML ou escrever um ficheiro HTML ??


IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
mateus8

sim só que tenho ler o ficheiro txt, onde tenho o código de html e depois coloco um caracter para parar e seguidamente insiro os dados

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.