GCC iostream fstream error в Ubuntu 13.10

0

Я использую Ubuntu 13.10. Я получаю некоторые ошибки для следующего кода.

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

int main(int argc, char *argv[])
{
    error.set_program_name(argv[0]);    

    if ( argc != 2 )
    {
    //  printf(argv[0] + " usage: fifo_client [string] \n");
    /// cout << argv[0] << " usage: fifo_client [string]" << endl;
        exit(EXIT_FAILURE);
    }

    ofstream out(fifo_file);
    if(out)

        out << argv[1] << endl;

    return(EXIT_SUCCESS);
}

Если я запустил вышеуказанную программу ac, используя команду

gcc a.c -o a

a.c:1:20: fatal error: iostream: No such file or directory
 #include <iostream>
                    ^
compilation terminated.

Я не знаю, в чем проблема.

  • 6
    переименуйте в a.cpp и используйте команду g++ .
  • 5
    Кроме того, код, который вы показываете, не #include <iostream , но код, который вы компилируете, делает. Таким образом, вы не показываете нам, что вы компилируете.
Теги:
gcc

4 ответа

5

Используйте g++ вместо gcc. gcc мог скомпилировать файл c++, если он имел правильное расширение (например,.cpp) или с правильными аргументами (-x c++), но добавление аргументов, необходимых для связи с библиотеками c++, слишком сложно чтобы избежать простого решения.

0

Я запустил ваш код в своем компиляторе и получил следующую ошибку:

test2.c:3:21: fatal error: fstream.h: No such file or directory
 #include <fstream.h>
                     ^
compilation terminated.

поэтому я думаю, что у вашего вопроса есть опечатка.

Это связано с тем, что вы смешиваете код c и c++, fstream является частью c++. попробуйте запустить g++.

0

Проблема в том, что вы смешиваете код C & C++ и компилируете его с помощью GCC.

0

пытаться

#include <fstream>
using namespace std;

вместо #include <fstream.h> любом случае ваш исходный код не заполнен, чтобы сделать правильное предложение.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню