Я пытаюсь прочитать аргументы из основной функции.Моя проблема в том, как получить каждый аргумент, чтобы поместить их в функции.Я знаю, что должен использовать что-то вроде strcmp (argv [currentArg], "albus") == 0, но я не совсем понимаю, как это сделать, тем более, что может быть разное количество аргументов.Например:
./cnp cut 13 5 copy 33 7 paste 1 input-b.txt output.txt
cnp - это имя основного файла, ключевые слова в вырезанной копии и вставке - это функция в программе. Числа - это индексы, где функция должна вырезать, пропустить и скопировать input-b..txt output.txt - это файлы.
Здесь мы просим сократить 5 символов, начиная со столбца 13. Это должно сократить 3-значный номер после каждого имени.Затем мы просим его сделать копию того, что в столбцах с 33 по 39;это 7 символов, начиная с колонки 33, и это должно дать нам копию последнего числа с плавающей запятой в каждой строке.Затем мы говорим ему вставить это в начале строки, давая нам еще одну копию этих чисел в начале каждой строки.Таким образом, оригинал будет выглядеть следующим образом
Young 003 3 89.81 67.10 80.85 D
Venus 002 8 72.29 73.59 76.20 A
Jasmin 003 6 55.19 50.51 63.88 F
Micheal 001 3 98.93 91.37 99.00 C
Abram 001 2 50.23 90.14 57.36 E
Rigoberto 002 8 61.63 94.64 77.05 B
Noe 003 2 68.41 61.79 64.60 A
Kristin 002 5 77.34 84.68 65.16 B
Phillip 001 6 63.19 76.08 52.39 B
Monique 001 6 81.76 57.62 80.15 A
Verda 002 10 93.03 56.21 93.58 C
Louise 003 2 70.30 71.37 61.91 C
Vilma 001 9 71.09 93.43 76.72 G
После запуска программы он будет выглядеть следующим образом:
80.85 Young 3 89.81 67.10 80.85 D
76.20 Venus 8 72.29 73.59 76.20 A
63.88 Jasmin 6 55.19 50.51 63.88 F
99.00 Micheal 3 98.93 91.37 99.00 C
57.36 Abram 2 50.23 90.14 57.36 E
77.05 Rigoberto 8 61.63 94.64 77.05 B
64.60 Noe 2 68.41 61.79 64.60 A
65.16 Kristin 5 77.34 84.68 65.16 B
52.39 Phillip 6 63.19 76.08 52.39 B
80.15 Monique 6 81.76 57.62 80.15 A
93.58 Verda 10 93.03 56.21 93.58 C
61.91 Louise 2 70.30 71.37 61.91 C
76.72 Vilma 9 71.09 93.43 76.72 G
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "buffer.h"
#include "document.h"
int main(int argc, char *argv[])
{
char
if(argc > 0) {
}
else {
}
return EXIT_SUCCESS;
}
Функции вставки, вырезания, копирования выглядят следующим образом:
bool cut( char *line, int start, int n )
bool copy(char *line, int start, int n)
bool paste(char *line, int start)
Чтобы прочитать и распечатать, у нас есть следующие функции:
int readDocument( FILE *fp, char doc[ MAX_LINES ][ MAX_LENGTH + 1 ] )
void printDocument(FILE *fp, char doc[MAX_LINES][MAX_LENGTH + 1], int lines)
Я уже выполнил эти функции, но мне нужна помощь в том, чтосделать в основной функции о том, как использовать аргументы командной строки.Я использую компьютер с Linux.