glob simples em c++ no sistema unix?
<p>eu quero recuperar todos os caminhos correspondentes seguindo este padrão em um <code>vector&lt;string&gt;</code>:</p><pre><code>"/some/path/img*.png" </code></pre><p>como posso simplesmente fazer isso?</p>
<p>eu tenho isso na minha essência. eu criei um wrapper stl em torno de glob para que ele retorne vetor de string e cuide de liberar o resultado glob. não é exatamente muito eficiente, mas esse código é um pouco mais legível e alguns diriam mais fácil de usar.</p><pre><code>#include &lt;glob.h&gt; // glob(), globfree() #include &lt;string.h&gt; // memset() #include &lt;vector&gt; #include &lt;stdexcept&gt; #include &lt;string&gt; #include &lt;sstream&gt; std::vector&lt;std::string&gt; glob(const std::string&amp; pattern) { using namespace std; // glob struct resides on the stack glob\_t glob\_result; memset(&amp;glob\_result, 0, sizeof(glob\_result)); // do the glob operation int return\_value = glob(pattern.c\_str(), glob\_tilde, null, &amp;glob\_result); if(return\_value != 0) { globfree(&amp;glob\_result); stringstream ss; ss &lt;&lt; "glob() failed with return\_value " &lt;&lt; return\_value &lt;&lt; endl; throw std::runtime\_error(ss.str()); } // collect all the filenames into a std::list&lt;std::string&gt; vector&lt;string&gt; filenames; for(size\_t i = 0; i &lt; glob\_result.gl\_pathc; ++i) { filenames.push\_back(string(glob\_result.gl\_pathv[i])); } // cleanup globfree(&amp;glob\_result); // done return filenames; } </code></pre>
<p>na página do manual <code>ps</code>:</p><blockquote> <p>-e selecione todos os processos. idêntico a -a.</p> </blockquote><p>portanto, <code>ps -e</code> exibirá todos os processos. as opções comuns para "me dê tudo" são <code>ps -ely</code> ou <code>ps aux</code>, o último é o estilo bsd. frequentemente, as pessoas canalizam essa saída para <code>grep</code> para procurar um processo, como na resposta do xenoterracide. para evitar também ver <code>grep</code> na saída, você verá frequentemente algo como:</p><pre><code> ps -ef | grep [f]oo </code></pre><p>onde foo é o nome do processo que você está procurando.</p><p>no entanto, se você estiver procurando por um processo específico, recomendo usar o comando <code>pgrep</code> se estiver disponível. acredito que esteja disponível no ubuntu server. usar <code>pgrep</code> significa evitar a condição de corrida mencionada acima. ele também fornece alguns outros recursos que exigiriam truques <code>grep</code> cada vez mais complicados para serem replicados. a sintaxe é simples:</p><pre><code>pgrep foo </code></pre><p>onde foo é o processo pelo qual você está procurando. por padrão, ele simplesmente emitirá o id do processo (pid) do processo, se encontrar um. vejo <code>man pgrep</code> para outras opções de saída. achei a seguinte página muito útil:</p><p> <a href="http://mywiki.wooledge.org/processmanagement">http://mywiki.wooledge.org/processmanagement</a> </p> <p>no windows é exatamente ctrl &#43; c.</p> para multiplicar matrizes em c++, é utilizando o algoritmo abaixo:includeint main (){int mt1 [3][2], mt2 [2][3];int linha, coluna;int mtres[3][3];//primeira matriz 3x2printf ("digite a matriz 1:\n");for(linha=0; linha<3; linha++){ for(coluna=0; coluna<2; coluna++) scanf("%10d", &mt1[linha][coluna]);}for (linha=0; linha<3; linha++){ for(coluna=0; coluna<2; coluna++) printf ("%5d", mt1[linha] [coluna]); printf("\n\n");}//segunda matriz 2x3printf ("digite a matriz 2:\n");for(linha=0; linha<2; linha++){ for(coluna=0; coluna<3; coluna++)scanf("%10d", &mt2[linha][coluna]);}for (linha=0; linha<2; linha++){for(coluna=0; coluna<3; coluna++)printf ("%5d", mt2[linha] [coluna]);printf("\n\n");}//multiplicaçao da primeira com a segunda matriz= matriz quadrada [3][3] printf("resultado da matriz resultante");/*agora a multiplicação das duas*/ for (linha=0;linha<3;linha++) { for(coluna=0;coluna<3;coluna++) mtres[linha][coluna]=(mt1[linha][coluna]*mt2[linha][coluna]);/*armazenando em uma terceira*/ }for(linha=0;linha<3;linha++){ for(coluna=0;coluna<3;coluna++) printf("%5d",mtres[linha][coluna]); printf ("\n\n");}system ("pause");return 0;}sendo assim, com esse algoritmo podemos multiplicar as matrizes que quisermos. fonte: http://www.guj.com.br/t/multiplicacao-de-matrizes-em-c/281819 a resposta é sim, basta procurar o mapa de caracteres do seu ambiente de trabalho por exemplo este é o gnome-characters do ambiente gnome.

[[captura%20de%20tela%20de%202019-06-09%2010-20-45]](https://plus.diolinux.com.br/uploads/default/original/2x/b/b27849dc91427662dd899308f491067d95c775c5.png "captura de tela de 2019-06-09 10-20-45.png")

[captura%20de%20tela%20de%202019-06-09%2010-20-16] <p>você pode usar find com <a href="http://en.wikipedia.org/wiki/xargs">xargs</a> para isso</p><p><code>find /thisdir -type f -name "*.ogg" -print0 | xargs -0 -imysongs mv -i mysongs /somedir</code></p><blockquote> <p>o comando -i no comando acima informa ao xargs qual string de substituição você deseja usar (caso contrário, adiciona os argumentos ao final do comando).</p> </blockquote><p>or<br> no seu comando, tente mover '{}' após o comando <code>mv</code>.</p><p><code>find /thisdir -type f -name '*.ogg' -exec mv -i {} /somedir \;</code></p> <p>usando <a href="http://ruby-doc.org/core-1.9.3/string.html#method-i-scan"><code>scan</code></a> deve fazer o truque:</p><pre><code>string.scan(/regex/) </code></pre> <p>você provavelmente deseja o <a href="http://man7.org/linux/man-pages/man1/comm.1.html">tilitário de comunicação unix</a> . <a href="http://gnuwin32.sourceforge.net/packages/coreutils.htm">versões do windows</a> estão incluídas no gnuwin32</p><blockquote> <p>nome</p> <pre><code> comm - compare two sorted files line by line </code></pre> <p>sinopse</p> <pre><code> comm [option]... file1 file2 </code></pre> <p>descrição</p> <pre><code> compare sorted files file1 and file2 line by line. with no options, produce three-column output. column one contains lines unique to file1, column two contains lines unique to file2, and column three contains lines common to both files. -1 suppress lines unique to file1 -2 suppress lines unique to file2 -3 suppress lines that appear in both files </code></pre></blockquote> <p>menu<em> ferramentas </em>&rarr;<em> opções </em>&rarr;<em> projetos e soluções </em>&rarr;<em> configurações do projeto vc++ </em>&rarr;<em> construir tempo </em>deve funcionar.</p> oi, vitória, tudo bem? :smiley:

veja se é alguma dessas:

<https://drive.google.com/file/d/0b90yo7plg23regnfzdvwuxn1ndg/view>
<https://drive.google.com/file/d/0b8f27iz44ivhntvznkrpqk5fzjq/view>

se não for, me fala que eu tento procurar <p>oi, luiz, tudo bem?</p>
<p>o <em>dir</em> faz parte dos atributos globais. atributos globais se aplicam a todas as tag html.</p>
<p>no caso do <em>dir</em>, ele dá a direção do texto, ele assume dois valores possiveis: </p>
<ul><li>ltr :o texto é escrito da esquerda para a direita;</li><li>rtl : o texto é escrito da direita para a esquerda.</li></ul>
<p>espero ter te ajudado :}</p>