Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <string.h>
- #include <stdio.h>
- #include <stdlib.h>
- #define LEN 256
- #define COL 128
- int main(int argc, char *argv[]) {
- int N = 10;
- char text[COL][LEN];
- //когда нет аргументов
- //пример gcc -o main main.c && ./main
- if (argc == 1){
- int n = 0;
- printf("Введите строки. Чтобы закончить ввод, введите строку stop\n");
- do{
- scanf("%s", text[n]);
- n++;
- }while (strcmp(text[n - 1], "stop"));
- printf("Последние 10 строк:\n");
- if (n-1 > N){
- for (int i = n-1; i >= n-1-N ;i--){
- printf("%s\n", text[i]);
- }
- } else{
- for (int i = 0; i < n - 1; i++) {
- printf("%s\n", text[i]);
- }
- }
- }
- //когда два аргумента: количество строк и имя файла
- //пример gcc -o main main.c && ./main 3 my_file.txt
- if (argc == 3) {
- N = atoi(argv[1]);
- FILE *file;
- file = fopen(argv[2], "r");
- if (file == NULL){
- printf("Не открыли файл\n");
- return 1;
- }else {
- int n = 0;
- printf("Oткрыли файл\n");
- while (!feof(file)) {
- fgets(text[n], LEN, file);
- n++;
- }
- printf("Последние N строк:\n");
- if (n - 1 > N) {
- for (int i = n - 1; i >= n - 1 - N; i--) {
- printf("%s", text[i]);
- }
- } else {
- for (int i = 0; i < n - 1; i++) {
- printf("%s", text[i]);
- }
- }
- }
- fclose(file);
- }
- //когда один аргумента - имя файла
- //пример gcc -o main main.c && ./main my_file.txt
- if (argc == 2){
- FILE *file;
- file = fopen(argv[1], "r");
- if (file == NULL){
- printf("Не открыли файл\n");
- return 1;
- }else {
- int n = 0;
- printf("Oткрыли файл\n");
- while (!feof(file)) {
- fgets(text[n], LEN, file);
- n++;
- }
- printf("Последние N строк:\n");
- if (n - 1 > N) {
- for (int i = n - 1; i >= n - 1 - N; i--) {
- printf("%s", text[i]);
- }
- } else {
- for (int i = 0; i < n - 1; i++) {
- printf("%s", text[i]);
- }
- }
- }
- fclose(file);
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement