HTTP POST / GET через stdio - PullRequest
       1

HTTP POST / GET через stdio

1 голос
/ 13 июля 2011

Возможна ли связь с сервером через функции ввода-вывода необработанных файлов, такие как fprintf() и fscanf()?

например. этот код не сработает:

#include <stdio.h>

int main()
{
    FILE* f = fopen("http://example.com/", "r");

    while (!feof(f))
    {
        char *s = new char[255];
        fscanf(f, "%s", s);
        printf("%s\n", s);
        delete[] s;
    }

    fclose(f);

    return 0;
}

Ответы [ 2 ]

4 голосов
/ 13 июля 2011

Нет, это не сработает, это не то, для чего stdio.Но я говорю вам, что вы можете сделать:

  • Использовать libcurl
  • Использовать asio
  • Использовать свои собственные сокеты

Не знаюне знаю о win32, но в Unix вы могли бы:

  • Получить сокет для этого хоста, используя connect(2)
  • Использовать fdopen(3), чтобы связать его с FILE *

Кроме того, эти функции вовсе не являются «необработанными»;много чего происходит до того, как по-настоящему сырой материал будет вызван (системные вызовы).

0 голосов
/ 14 июля 2011

Не через STDIO, вам нужно, чтобы что-то открывало сокет.

...