2012-05-03 79 views
0

我想在C++文件中發出echo命令。使用C++的echo命令

所有我需要做的是

回聲 「XML ::在/ var/some.xml」 >>在/ var /配置

在C++中的文件,我試過,

系統(」 echo「+」xml ::/var/some.xml「+」>>/var/config「);

但它將類型爲const char [6]和const char [46]的無效操作數拋出到二元運算符+。

需要幫助

+2

你的字符串是'const char *',而不是'std :: string'。字符串上的'operator +'適用於C++字符串。但是,爲什麼你使用系統來做到這一點?你可以在代碼中打開'/ var/config'並追加到它。 – birryree

+0

爲什麼不直接用C++寫入文件? – Flexo

+0

看來你在這裏有很多問題。首先,我可以看到你在「echo」這個詞後面缺少一個空格。爲什麼不先用普通的字符串工作,所以你一次只能解決一個問題?爲什麼不直接使用'cout'或'printf'或直接寫入文件? –

回答

0

我想這是一個在那裏你可以逃脫「能有codez?」:

#include <iostream> 
#include <iterator> 
#include <algorithm> 

int main(int argc, char **argv) { 

    std::copy(argv+1, argv+argc, std::ostream_iterator<char *>(std::cout, "")); 
    return 0; 
} 
-2

嘗試

#include <string> 
system(std::string("echo" + "xml::/var/some.xml" +">> /var/config").cstr()) 

您傳遞的原始字符串不支持+運算符 - 因此請嘗試使用std :: string來代替。

+0

而你仍然試圖將'operator +'應用於原始字符串。再加上拼錯'.c_str()'。 –