linux 中的文件处理 c++
File Handling c++ in linux
您好,我正在尝试在 ubunto 中处理文件 linux。我的代码在 windows 的虚拟工作室中运行良好,但在 Linux 中出现问题。下面附上报错的代码和截图。代码是读取文件检查文件中是否有整数,如果有则将其增加 1。
代码:
#include<iostream>
#include<stream>
#include<stdio.h>
#include<stdlib.h>
using namespace std;
int main()
{
ifstream fin;
ofstream fout;
char abc[20];
fin.open("input.txt");
fout.open("output.txt");
while (!fin.eof())
{
fin.getline(abc, 20);
for (int j = 0; abc[j] !=0; j++)
{
char ab[20];
int s = abc[j];
int i = 0;
bool check = false;
while ((s >= 48) && (s <= 57))
{
check = true;
ab[i] = abc[j];
i++;
j++;
s = abc[j];
}
if (check)
{
ab[i] = 0;
i = 0;
int a = atoi(ab);
a++;
fout << a;
}
else
fout << abc[j];
}
fout << endl;
for (int k = 0; k < 20; k++)
{
abc[k] = 0;
}
}
fin.close();
fout.close();
}
error given in linux
gcc
用于编译C程序。您应该使用 g++
来编译 C++ 程序。
您好,我正在尝试在 ubunto 中处理文件 linux。我的代码在 windows 的虚拟工作室中运行良好,但在 Linux 中出现问题。下面附上报错的代码和截图。代码是读取文件检查文件中是否有整数,如果有则将其增加 1。 代码:
#include<iostream>
#include<stream>
#include<stdio.h>
#include<stdlib.h>
using namespace std;
int main()
{
ifstream fin;
ofstream fout;
char abc[20];
fin.open("input.txt");
fout.open("output.txt");
while (!fin.eof())
{
fin.getline(abc, 20);
for (int j = 0; abc[j] !=0; j++)
{
char ab[20];
int s = abc[j];
int i = 0;
bool check = false;
while ((s >= 48) && (s <= 57))
{
check = true;
ab[i] = abc[j];
i++;
j++;
s = abc[j];
}
if (check)
{
ab[i] = 0;
i = 0;
int a = atoi(ab);
a++;
fout << a;
}
else
fout << abc[j];
}
fout << endl;
for (int k = 0; k < 20; k++)
{
abc[k] = 0;
}
}
fin.close();
fout.close();
}
error given in linux
gcc
用于编译C程序。您应该使用 g++
来编译 C++ 程序。