gnuplot命令不能与C ++中的system()函数一起使用

时间:2016-02-08 08:50:44

标签: c++ gnuplot

我的gnuplot命令在我的C ++程序中不起作用。我试图在C ++程序中运行gnuplot命令,如下所示:

Sub Program()

Dim i As Integer
Dim First, Second As String
Dim secondWs As Worksheet
Dim dataTbl As ListObject

i = 2
Set dataTbl = Worksheets("DATA").Range("A1").ListObject.Name 
' The above can be done more elegantly if you supply the name of the table

Sheets("DATA").Activate

Do Until IsEmpty(Cells(i, 1))
Debug.Print i
        First = Sheets("Button").Cells(i, 1).Value
        Debug.Print First

        Second = Sheets("Button").Cells(i, 2).Value
        Debug.Print Second 

    'Filters my Data sheet and copies the data

    dataTbl.AutoFilter _
        Field:=2, _
        Criteria1:=First 'Filters for relevant organisation
    dataTbl.AutoFilter _
        Field:=6, _
        Criteria1:="=" 'Filters for No Response

    Sheets("DATA").Range("A1:H6040").Copy

    'This should loop through for each separate group

    On Error Resume Next
    Set secondWs = Worksheets(Second)
    On Error GoTo 0

    If Not secondWs Is Nothing Then
        secondWs.Range("A1").PasteSpecial Paste:=xlPasteValues
    Else
        Debug.Print "Sheet name SECOND was not found"
    End If

i = i + 1
Loop

Worksheets("DATA").AutoFilterMode = False

End Sub

它给出错误:

system("gnuplot");

当我尝试在cmd中运行gnuplot时,它运行正常。

任何人都知道为什么gnuplot命令在C ++中不使用'gnuplot' is not recognized as an internal or external command. etc. 函数?

3 个答案:

答案 0 :(得分:3)

原因可能是你执行C ++程序的环境并没有告诉你的操作系统在正确的位置找到你的gnuplot可执行文件。

尝试GNU Plot可执行文件的完整路径,如果您在Windows上,请包含文件后缀(.exe),或确保将PATH环境变量设置为包含gnuplot可执行文件的目录是

答案 1 :(得分:1)

检查gnuplot的路径是否在PATH环境变量中。或者,您可以在调用system()

时使用absolut路径

答案 2 :(得分:0)

感谢您的回答朋友,

我最终找到了解决方案:在编辑环境变量$ path之后,必须重新启动visual studio以获取环境变量的最新值。当我重新启动我的视觉工作室时,它可以工作。

因此,当您更改任何环境变量时,只需重新启动visual studio(如果您正在使用它)。

谢谢和亲切的问候,

AWAIS