闲着没事想模仿命令行界面的“多段文本读入”
  • 板块灌水区
  • 楼主huboxuan
  • 当前回复3
  • 已保存回复3
  • 发布时间2023/10/12 21:23
  • 上次更新2023/11/2 14:13:42
查看原帖
闲着没事想模仿命令行界面的“多段文本读入”
1015155
huboxuan楼主2023/10/12 21:23
/*重要的事情说三遍:不喜勿喷,友善交流,c++11及以上,有改进的地方可以告诉我,咱们共同探讨。不喜勿喷,
友善交流,c++11及以上,有改进的地方可以告诉我,咱们共同探讨。不喜勿喷,友善交流,c++11及以上,
有改进的地方可以告诉我,咱们共同探讨。上代码*/

#include <bits/stdc++.h> //万能头 
#include <string.h>  
#define MAX_LINES 10  
#define MAX_LENGTH 100	//在这里是用来限制输入和存储缓冲区的大小
  
int main() {  
    char lines[MAX_LINES][MAX_LENGTH];  
    int i, n = 0;  
    char input[MAX_LENGTH];  
  
    while (n < MAX_LINES) {  
        printf("%d ", n + 1);  
        fgets(input, MAX_LENGTH, stdin);  
  
        // 检查是否输入了 "BACK"  
        if (input[0] == 'B' && input[1] == 'A' && input[2] == 'C' && input[3] == 'K' && input[4] == '\n') {  
        	//如果输入了"BACK",就返回输出除"BACK"以外的所有内容  
            break;
        }  
  
        // 将输入的行存储到 lines 数组中  
        strncpy(lines[n], input, strlen(input));  
        lines[n][strlen(input)] = '\0'; // 添加字符串结束符  
        n++;  
    }  
  	//下面四行是用来测试这些输入的文本能否保持原样的输出 
    printf("\nYou entered:\n");  
    for (i = 0; i < n; i++) {  
        printf("%d: %s", i + 1, lines[i]);  
    }  
  
    return 0;  //好习惯+1 
}/*若不想写了,输入“BACK”即可返回输出,在下最近迷上了Linux文本框,CMD,DOS系统,所以头脑发昏编了如上代码,
诸位若肯赏个脸,给个评论吧*/
2023/10/12 21:23
加载中...