Я использую исполняемый файл, созданный из C, и пытаюсь передать ему переменные в R.
Код C:
#include <stdio.h>
#include <stdlib.h>
int sumUp(int x, int y, int z, int *sum);
int main()
{
int x1,x2,x3;
int total = 0;
scanf("%d %d %d",&x1,&x2,&x3);
sumUp(x1,x2,x3,&total);
printf("Your total is :%d\n", total);
system("pause");
}
int sumUp(int x, int y, int z, int *sum)
{
*sum = x + y + z;
}
и вот мой код R:
x <- 0
y <- 0
z <- 0
readint <-function(){
a <- readline(prompt = "Enter a number: \n")
}
x <- as.numeric(readint())
y <- as.numeric(readint())
z <- as.numeric(readint())
system("Practice.exe", intern = TRUE,input = "x y z")
У меня проблема при использовании переменных для input
, так как это приведет к выводу неверного значения.Однако, когда я использую прямой ввод, такой как input = "1 2 3"
, я получу правильный ответ.Я проверил типы для моих переменных, и они кажутся правильными.Вот вывод для справки: 

Есть ли что-то странное между R и C, или я что-то не так делаю с system
?Даже если я изменю значения x,y,z
, я получу 84
.Так что я представляю, что здесь происходит что-то, что мне не хватает.Я попытался использовать args
вместо input
, но столкнулся с той же проблемой, за исключением того, что он дал значение 126
независимо от того, что я ввел, переменная или напрямую.Любая помощь приветствуется, спасибо.