#include<iostream>
#include<fstream>
using namespace std;
int main()
{
int space=1,i=0;
const int N=80;;
char line[N],a[N];
ifstream fin;
ofstream fout;
fout.open("11-1(1).txt");
fin.open("11-1.txt");
while(fin)
{
fin.getline(line,N);
cout<<line<<endl;
if(line[i]==' ')//为什么if语句进不去??
space=0;
else
{
if(space==0)
{space=1;cout<<' ';fout<<' ';}
a[i]=line[i];
}
i++;
}
fout<<a;
cout<<a;
fin.close();
fout.close();
return 0;
}
C++从一个文件读取字符串,把多空格改成单空格,并写入另一个文件
答案:2 悬赏:10 手机版
解决时间 2021-03-15 08:03
- 提问者网友:疯孩纸
- 2021-03-14 16:22
最佳答案
- 五星知识达人网友:逃夭
- 2021-03-14 17:59
fout<<a;#include <iostream>
#include <fstream>
using namespace std;
const int N = 81;
void DeleteExtraSpaces(char *s) {
char *q,*p;
for(p = s; *p; p++)
if((*p == ' ') && (*(p + 1) == ' ')) {
for(q = p + 1; *q = *(q + 1); ++q);
--p;
}
}
int main() {
char line[N + 1];
ifstream fin;
ofstream fout;
fout.open("11-1(1).txt");
fin.open("11-1.txt");
while(fin.getline(line,N)) {
DeleteExtraSpaces(line);
cout << line << endl;
fout << line << endl;
}
fin.close();
fout.close();
return 0;
}
#include <fstream>
using namespace std;
const int N = 81;
void DeleteExtraSpaces(char *s) {
char *q,*p;
for(p = s; *p; p++)
if((*p == ' ') && (*(p + 1) == ' ')) {
for(q = p + 1; *q = *(q + 1); ++q);
--p;
}
}
int main() {
char line[N + 1];
ifstream fin;
ofstream fout;
fout.open("11-1(1).txt");
fin.open("11-1.txt");
while(fin.getline(line,N)) {
DeleteExtraSpaces(line);
cout << line << endl;
fout << line << endl;
}
fin.close();
fout.close();
return 0;
}
全部回答
- 1楼网友:大漠
- 2021-03-14 18:05
都知道ostream类有一个cout对象用于将信息输出到控制台。c++提供fstream类,用于文件的读写操作,fstream是从iostream派生而来,所以写文件的行为类似于cout的行为;
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯