1、CODE
#include <stdio.h>
#include <string.h>
#include <fstream>
#include <iostream>
using namespace std;
#define maxn 100
void back(char str[]) {
char word[maxn][maxn];
int len = strlen(str), r = 0, h = 0;
for (int i = 0; i < len; i++) {
if(str[i] != ' ') {
word[r][h++] = str[i];
} else {
word[r][h] = ' ';
r++;
h = 0;
}
}
for (int i = r; i >= 0; i--) {
printf("%s", word[i]);
if(i != 0) printf(" ");
}
printf("
");
return;
}
int main() {
char str[maxn];
ifstream fin;
fin.open("/home/zzz/input.txt");
while(fin.getline(str,maxn)) {
back(str);
}
fin.close();
// cin.getline(str, maxn);
// back(str);
return 0;
}
2、TEST
3、NOTE
3.1 不要再使用gets()这个函数啦!!!!
这个函数会把换行符读进来,而且在c++11中已经不建议使用,c++14完全丢弃
可以使用cin.getline(),而且这个函数还不会把回车符吃进去
3.2 c++文件读写
ifstream fin;
fin.open("/home/zzz/input.txt");
while(fin.getline(str,maxn)) {
back(str);
}
fin.close();
3.3 "边读边增长"
word[r][h++] = str[i];