#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] = '\0'; r++; h = 0; } } for (int i = r; i >= 0; i--) { printf("%s", word[i]); if(i != 0) printf(" "); } printf("\n"); 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; }
3.1 不要再使用gets()這個函數啦!!!!ios
這個函數會把換行符讀進來,並且在c++11中已經不建議使用,c++14徹底丟棄c++
可使用cin.getline(),並且這個函數還不會把回車符吃進去函數
3.2 c++文件讀寫spa
ifstream fin; fin.open("/home/zzz/input.txt"); while(fin.getline(str,maxn)) { back(str); } fin.close();
3.3 "邊讀邊增加"3d
word[r][h++] = str[i];