Вам нужно объединить строку, прочитанную из файла, с командой ping
, используя строковые функции. Я использовал sprintf()
ниже.
Вместо использования локальной переменной line
в fastLine()
, вы можете сделать это параметром, чтобы вызывающий мог предоставить строку для заполнения, а затем использовать что в результате.
#include <stdio.h>
#include <stdlib.h>
int fastLine(const char *filename, char *line);
int main() {
char* ip_file = "f1";
char hostname[64];
fastLine(ip_file, hostname); // to print callback
char command[100];
sprintf(command, "ping %s", hostname);
system(command);
return 0;
}
////// 1st line of file callback function ////////
int fastLine(const char *filename, char *line) {
FILE *fptr;
if ((fptr = fopen(filename, "r")) == NULL) {
printf("Error! opening file");
// Program exits if file pointer returns NULL.
exit(1);
}
// reads text until newline is encountered
fscanf(fptr, "%[^\n]", line);
printf("%s\n", line);
fclose(fptr);
return 0;
}