小白求助,程序改错
题目: 建立两个磁盘文件f1.dat和f2.dat,编程序实现以下工作:① 从键盘输入20个整数,分别存放在两个磁盘文件中(每个文件中放10个整数);
② 从fl.dat中读入10个数,然后存放到f2.dat文件原有数据的后面;
错误 LNK2005 _main 已经在 test 8.1源.obj 中定义
错误 LNK1169 找到一个或多个多重定义的符号
想问问各位大佬,为什么会出现这种问题?还有,怎么建立磁盘文件?
感谢解答!
#include <iostream>
#include <fstream>
#include <stdlib.h>
using namespace std;
//fun1函数从键盘输入20个整数,分别存放在两个磁盘文件中
void fun1()
{
int a;
ofstream outfile1("f1.dat"), outfile2("f2.dat"); //分别建立两个文件流对象
if (!outfile1)
{
cerr << "open f1.dat error!" << endl;
exit(1);
}
if (!outfile2)
{
cerr << "open f2.dat error!" << endl;
exit(1);
}
cout << "enter 10 integer numbers:" << endl;
for (int i = 0; i < 10; i++) //输入10个数存放在f1.dat文件中
{
cin >> a;
outfile1 << a << " ";
}
cout << "enter 10 integer numbers:" << endl;
for (int i = 0; i < 10; i++) //输入10个数存放在f2.dat文件中
{
cin >> a;
outfile2 << a << " ";
}
outfile1.close();
outfile2.close();
}
//从f1.dat读入10个数,然后存放到f2.dat文件原有数据的后面
void fun2()
{
ifstream infile("f1.dat"); //f1.dat作为输入文件
if (!infile)
{
cerr << "open f1.dat error!" << endl;
exit(1);
}
ofstream outfile("f2.dat", ios::app); //f2.dat作为输出文件,文件指针指向文件尾,向它写入的数据放在原来数据的后面
if (!outfile)
{
cerr << "open f2.dat error!" << endl;
exit(1);
}
int a;
for (int i = 0; i < 10; i++)
{
infile >> a; //从磁盘文件f2.dat读入一个整数
outfile << a << " "; //将该读数存放到f2.dat中
}
infile.close();
outfile.close();
}
int main()
{
fun1();
fun2();
cout << "Hello world!" << endl;
return 0;
}
想问问各位大佬,为什么会出现这种问题?我猜是你的工程中开了多个程序,其中有其他程序也有 main 函数。把那个程序移走就好了。 永恒的蓝色梦想 发表于 2020-5-29 13:19
我猜是你的工程中开了多个程序,其中有其他程序也有 main 函数。把那个程序移走就好了。
噢谢谢,确实是这样。但是我还想问一下,磁盘文件怎么建立{:10_277:}?这个程序现在没有报错,但是实现不了题中的功能。。。 优秀的Aurora 发表于 2020-5-29 13:44
噢谢谢,确实是这样。但是我还想问一下,磁盘文件怎么建立?这个程序现在没有报错,但是实现不 ...
我感觉代码没问题呀{:5_109:}
页:
[1]