Я попробовал команду
cat tmp/file{1..3} > newFile
и работает идеально
Но когда я компилирую и выполняю следующую программу c
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
void main() {
char command[40];
int num_of_points = 3;
sprintf(command,"cat tmp/file{1..%d} > file.Ver",num_of_points);
system(command);
}
сообщение
cat: tmp/file{1..3}: No such file or directory
появляется
Похоже, система не делает расширение скобки
system("echo $SHELL\n")
, чтобы увидеть, вызывает лиsystem()
bash
. - person 眠りネロク   schedule 27.11.2017system()
вызывает/bin/sh -c
, что, как вы заметили, не приводит к раскрытию скобок. Вместо этого вызовитеbash -c
с помощьюsystem()
или создайте полностью переносимое решение только для C. Твой выбор. - person MechMK1   schedule 27.11.2017