<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://so.v2.cs.unibo.it/wiki/index.php?action=history&amp;feed=atom&amp;title=Esercizio_1_Prova_Pratica_23-06-09</id>
	<title>Esercizio 1 Prova Pratica 23-06-09 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://so.v2.cs.unibo.it/wiki/index.php?action=history&amp;feed=atom&amp;title=Esercizio_1_Prova_Pratica_23-06-09"/>
	<link rel="alternate" type="text/html" href="https://so.v2.cs.unibo.it/wiki/index.php?title=Esercizio_1_Prova_Pratica_23-06-09&amp;action=history"/>
	<updated>2026-05-14T22:45:51Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.35.5</generator>
	<entry>
		<id>https://so.v2.cs.unibo.it/wiki/index.php?title=Esercizio_1_Prova_Pratica_23-06-09&amp;diff=1079&amp;oldid=prev</id>
		<title>Davide.quadrelli2: Created page with &quot;&lt;source lang =&quot;text&quot;&gt; Scrivere un programma in linguaggio C denominato “scriptexec” che venga richiamato con un solo parametro: il nome di un file che contiene un elenco d...&quot;</title>
		<link rel="alternate" type="text/html" href="https://so.v2.cs.unibo.it/wiki/index.php?title=Esercizio_1_Prova_Pratica_23-06-09&amp;diff=1079&amp;oldid=prev"/>
		<updated>2015-05-10T16:31:51Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;&amp;lt;source lang =&amp;quot;text&amp;quot;&amp;gt; Scrivere un programma in linguaggio C denominato “scriptexec” che venga richiamato con un solo parametro: il nome di un file che contiene un elenco d...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;source lang =&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
Scrivere un programma in linguaggio C denominato “scriptexec” che venga&lt;br /&gt;
richiamato con un solo parametro: il nome di un file che contiene un elenco di comandi con i rispettivi parametri, uno per&lt;br /&gt;
riga.&lt;br /&gt;
Le righe che iniziano per '#' sono commenti.&lt;br /&gt;
Il programma esegue uno dopo l'altro i comandi presenti nel file.&lt;br /&gt;
(E' &lt;br /&gt;
vietato &lt;br /&gt;
 l'uso di chiamate quali system o popen).&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
==Soluzione di Dado e Pierg==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
#include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;
#include &amp;quot;s2argv/s2argv.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
int main(int argc, char * argv[]){&lt;br /&gt;
    if(argc!=2){&lt;br /&gt;
        printf(&amp;quot;Wrong parameters number\n&amp;quot;);&lt;br /&gt;
    }else{&lt;br /&gt;
    	char *comm=NULL;&lt;br /&gt;
    	FILE *f;&lt;br /&gt;
    	ssize_t dim=0;&lt;br /&gt;
    	f=fopen(argv[1],&amp;quot;r&amp;quot;);&lt;br /&gt;
    	if(f==NULL){&lt;br /&gt;
    		printf(&amp;quot;Error while opening file %s\n&amp;quot;,argv[1]);&lt;br /&gt;
    		exit(1);&lt;br /&gt;
    	}&lt;br /&gt;
        while(getline(&amp;amp;comm,&amp;amp;dim,f)&amp;gt;0){&lt;br /&gt;
		system_noshell(comm);&lt;br /&gt;
		/*preparo comandi successivi*/&lt;br /&gt;
    	        free(comm);&lt;br /&gt;
    	        comm=NULL;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Davide.quadrelli2</name></author>
	</entry>
</feed>