在C++程序上出现iostream.h问题
Issue with iostream.h on a C++ program
我需要执行本页中的一些示例:http://www.chuidiang.com/clinux/ipcs/colas.php
其中一个的代码是这样的:
#include <iostream.h>
#include <sys/msg.h>
#include <errno.h>
typedef struct Mi_Tipo_Mensaje
{
long Id_Mensaje;
int Dato_Numerico;
char Mensaje[10];
};
main()
{
key_t Clave1;
int Id_Cola_Mensajes;
Mi_Tipo_Mensaje Un_Mensaje;
Clave1 = ftok ("/bin/ls", 33);
if (Clave1 == (key_t)-1)
{
cout << "Error al obtener clave para cola mensajes" << endl;
exit(-1);
}
Id_Cola_Mensajes = msgget (Clave1, 0600 | IPC_CREAT);
if (Id_Cola_Mensajes == -1)
{
cout << "Error al obtener identificador para cola mensajes" << endl;
exit (-1);
}
Un_Mensaje.Id_Mensaje = 1;
Un_Mensaje.Dato_Numerico = 29;
strcpy (Un_Mensaje.Mensaje, "Hola");
msgsnd (Id_Cola_Mensajes, (struct msgbuf *)&Un_Mensaje,
sizeof(Un_Mensaje.Dato_Numerico)+sizeof(Un_Mensaje.Mensaje),
IPC_NOWAIT);
msgrcv (Id_Cola_Mensajes, (struct msgbuf *)&Un_Mensaje,
sizeof(Un_Mensaje.Dato_Numerico) + sizeof(Un_Mensaje.Mensaje),
2, 0);
cout << "Recibido mensaje tipo 2" << endl;
cout << "Dato_Numerico = " << Un_Mensaje.Dato_Numerico << endl;
cout << "Mensaje = " << Un_Mensaje.Mensaje << endl;
msgctl (Id_Cola_Mensajes, IPC_RMID, (struct msqid_ds *)NULL);
}
我正试图按照我提到的页面("make"或"g++cola1.c-o cola1"(中的建议编译它,但我收到了以下消息:
fatal error: iostream.h: No such file or directory
我知道这个问题被问了很多,但我还不能解决,你能给我一些见解吗?感谢您的时间和安排,
Sebastián Pavez
您的代码中有很多问题。
iostream.h
不是C++标准的一部分,您应该导入iostream
- 您永远不会将
std
名称空间添加到适当的函数中。您可以简单地在程序的开头添加行using namespace std;
(尽管不鼓励这样做,但请查看您最喜欢的引用,在std命名空间中,哪些函数live,并在它们前面加上std::
( - 普通的
main()
是错误的,它必须返回一个int
。将其更改为int main()
,并在main
函数的末尾添加行return 0
。正如Joachim Pileborg在评论中所建议的那样,您可以省略return语句,因为如果缺少,编译器会添加它 -
您使用在头文件
cstring
(strcpy
(和cstdlib
(exit
(中声明的函数,因此包括它们:#include <cstring> #include <cstdlib>
- 线路
typedef struct Mi_Tipo_Mensaje
中的typedef
是冗余的并且不是必需的。拆下它
BTW:你的代码中有很多东西表明你正在编写一个C++程序,而不是一个C程序。
C++标准头文件名不以.h
结尾。只需使用#include <iostream>
即可。
相关文章:
- 警告处理为错误这里有什么问题
- 最小硬币更换问题(自上而下方法)
- 为"adjacent"变量赋值时出现问题
- 我的神经网络不起作用 [XOR 问题]
- 在Ubuntu 16.04上安装Cilk时出现问题
- C++我的数学有什么问题,为什么我的代码不能正确循环
- 编译包含字符串的代码时遇到问题
- Project Euler问题4的错误解决方案
- 问题:什么是QAbstractItemView::NoEditTriggers的反面
- 在编译C++代码(具有dlib和opencv)到WASM时面临问题
- 将文件从 iOS 应用程序加载到 C++ 对象中/<iostream>iOS 上的问题
- iostream输入问题
- C++ iostream 二进制读取和写入问题
- 编译器问题:iostream不工作
- C++突然出现iostream问题
- <iostream> 标准:函数内的cout不打印(修复:用于循环问题)
- Iostream解决c++问题
- 在C++程序上出现iostream.h问题
- iostream库和gcc的问题
- 致命错误:iostream:没有这样的文件或目录-你能帮助解决这个问题吗?