quel est la fonction fopen en C# ?

quel est la fonction fopen en C# ? - C#/.NET managed - Programmation

Marsh Posté le 16-05-2007 à 09:27:03    

je ne trouve pas cette fonction qui existe bien en C....
je sais qu'il est possible d'importer des librairies de C mais je voulais savoir s'il n'y a pas d'équivalent en C#?
 
 
merci

Reply

Marsh Posté le 16-05-2007 à 09:27:03   

Reply

Marsh Posté le 16-05-2007 à 10:01:45    

Je sais pas exactement que ce fait "fopen".
 
Mais un petit StreamReader/StreamWriter me semble pas mal.
 
Tu veux faire quoi au juste ?

Reply

Marsh Posté le 16-05-2007 à 10:02:59    

100top a écrit :

je ne trouve pas cette fonction qui existe bien en C....
je sais qu'il est possible d'importer des librairies de C mais je voulais savoir s'il n'y a pas d'équivalent en C#?
 
 
merci


En C il y a des fonctions, en C# il y a des objets.


---------------
Töp of the plöp
Reply

Marsh Posté le 16-05-2007 à 10:10:28    

qui ont des méthodes :D

Reply

Marsh Posté le 16-05-2007 à 10:54:09    

le but serait depuis une application lire un fichier sur un serveur web :
 
 
du type : http://site/page.php?alert=1&contenu=pb_sante  
 
et je voudrais derriere lire le contenu de la page généré afin de savoir le résultat. ( contenu de la réponse comme un fichier .txt )
 
c'est pour un projet d'aide a des personnes handicapés, pour pouvoir contacter directement les personnes exterieures en cas de problèmes.

Reply

Marsh Posté le 16-05-2007 à 11:49:35    

WebClient ou HttpRequest (WebClient est plus lourd, mais plus pratique d'utilisation)

Reply

Marsh Posté le 16-05-2007 à 12:02:41    

MagicBuzz a écrit :

WebClient ou HttpRequest (WebClient est plus lourd, mais plus pratique d'utilisation)


 
 
 
pour la visualisation du fichier ce n'est pas visuel, le webclient serait possible mais en fait je voudrais le faire directement,
 
lire le contenu du fichier et apres le traité en C#,  
 
EN PHP je sais que c'est quelque chose comme fopen(url) puis fget ou fwrite()...  
 
est ce que vous comprenez ce que je veux faire ou pas ?
 
 
 
en gros j'ouvre avec le logiciel en C# l'url http://... et je reprends tout le contenu dans un variable
le fichier php de l'url me retourne par exemple : "1;time=1/1/2007 14:34"
comme ca je peux savoir que l'alerte et bien envoyé et l'heure de l'envoi , ou si une erreur est survenu le php me donne par exemple :
"2;email incorrect"
 
j'espere que je me fais mieux comprendre, encore merci

Reply

Marsh Posté le 16-05-2007 à 12:14:41    

:heink:
 
WebClient, ça n'a rien de visuel hein...
 
Tu lui colles une URL, et il te ramène un flux dans un stream correspondant à ce qu'il a trouvé à l'URL. Ca t'affiche rien... Faut pas confondre )à WebBrowser, qui est une instance de IE dans ton programme.
 
L'intérêt de WebClient, c'est qu'il passe à travers les proxy tout seul comme un grand (en se basant sur la config de IE) fonctionne avec les Cookies et Sessions, mais aussi dispose d'objets pour récupérer/modifier les infos en POST et COOKIES (pour GET, je crois pas que ce soit automatisé par contre).

Message cité 1 fois
Message édité par MagicBuzz le 16-05-2007 à 12:16:11
Reply

Marsh Posté le 16-05-2007 à 12:16:18    

100top a écrit :

le but serait depuis une application lire un fichier sur un serveur web :
 
 
du type : http://site/page.php?alert=1&contenu=pb_sante  
 
et je voudrais derriere lire le contenu de la page généré afin de savoir le résultat. ( contenu de la réponse comme un fichier .txt )
 
c'est pour un projet d'aide a des personnes handicapés, pour pouvoir contacter directement les personnes exterieures en cas de problèmes.


et d'habitude tu fais ça avec fopen en C ?

Reply

Marsh Posté le 16-05-2007 à 12:16:57    

Je pense plutôt avec celui du PHP, parceque ça m'étonne aussi que fopen en C sâche utiliser une URL lol :D
Déjà que pour ouvrir un fichier texte, c'est pas sûr que fopen y arrive tout seul, alors aller faire un POST sur un site web et récupérer la réponse... [:cerveau foudtag]


Message édité par MagicBuzz le 16-05-2007 à 12:17:38
Reply

Marsh Posté le 16-05-2007 à 12:16:57   

Reply

Marsh Posté le 16-05-2007 à 12:19:52    

MagicBuzz a écrit :

:heink:
 
WebClient, ça n'a rien de visuel hein...
 
Tu lui colles une URL, et il te ramène un flux dans un stream correspondant à ce qu'il a trouvé à l'URL. Ca t'affiche rien... Faut pas confondre )à WebBrowser, qui est une instance de IE dans ton programme.
 
L'intérêt de WebClient, c'est qu'il passe à travers les proxy tout seul comme un grand (en se basant sur la config de IE) fonctionne avec les Cookies et Sessions, mais aussi dispose d'objets pour récupérer/modifier les infos en POST et COOKIES (pour GET, je crois pas que ce soit automatisé par contre).


 
 
 
ok, je vois c'est que des bonnes nouvelles !!! par contre je ne vois pas comment l'utiliser sous visual studio 2005 : j'arrive a lancer mon site et a charger la page, par contre je n'arrive pas a récupérer dans une variable le contenu du fichier....
 
 
 
 
pour le fopen, j'ai vu que ca existe en php et en C mais je n'ai jamais fait en C...
 
si tu pouvais juste m'aider encore la dessus se serait top ...
 
 
 

Reply

Marsh Posté le 16-05-2007 à 12:31:09    

C'est quand même pas compliqué...
 

Code :
  1. System.Net.WebClient wc = new System.Net.WebClient();
  2.            byte[] buff = wc.DownloadData("http://www.google.fr" );
  3.            System.Windows.Forms.MessageBox.Show(System.Text.ASCIIEncoding.ASCII.GetString(buff));
  4.            wc.Dispose();


 
Affiche
 


<html><head><meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"><title>Google</title><style><!--
body,td,a,p,.h{font-family:arial,sans-serif}
.h{font-size:20px}
.h{color:#3366cc}
.q{color:#00c}
--></style>
<script>
<!--
function sf(){document.f.q.focus();}
// -->
</script>
</head><body bgcolor=#ffffff text=#000000 link=#0000cc vlink=#551a8b alink=#ff0000 onload="sf();if(document.images){new Image().src='/images/nav_logo3.png'}" topmargin=3 marginheight=3><div align=right id=guser style="font-size:84%;padding-bottom:4px" width=100%><nobr><a href="/url?sa=p&pref=ig&pval=3&q=http://www.google.fr/ig%3Fhl%3Dfr&usg=AFrqEzcmBxoTBSCIGtHohfOBIsSBZxumAQ">iGoogle</a>&nbsp;|&nbsp;<a href="https://www.google.com/accounts/Login?continue=http://www.google.fr/&hl=fr">Connexion</a></nobr></div><center><img alt="Google" height=110 src="/intl/fr_fr/images/logo.gif" width=276><br><br><form action="/search" name=f><script defer><!--
//-->
</script><table border=0 cellspacing=0 cellpadding=4><tr><td nowrap><font size=-1><b>Web</b>&nbsp;&nbsp;&nbsp;&nbsp;<a class=q href="http://images.google.fr/imghp?ie=ISO-8859-1&oe=ISO-8859-1&hl=fr&tab=wi">Images</a>&nbsp;&nbsp;&nbsp;&nbsp;<a class=q href="http://groups.google.fr/grphp?ie=ISO-8859-1&oe=ISO-8859-1&hl=fr&tab=wg">Groupes</a>&nbsp;&nbsp;&nbsp;&nbsp;<a class=q href="http://news.google.fr/nwshp?ie=ISO-8859-1&oe=ISO-8859-1&hl=fr&tab=wn">Actualit?s</a>&nbsp;&nbsp;&nbsp;&nbsp;<b><a href="/intl/fr/options/" class=q>plus&nbsp;&raquo;</a></b></font></td></tr></table><table cellpadding=0 cellspacing=0><tr valign=top><td width=25%>&nbsp;</td><td align=center nowrap><input name=hl type=hidden value=fr><input type=hidden name=ie value="ISO-8859-1"><input maxlength=2048 name=q size=55 title="Recherche Google" value=""><br><input name=btnG type=submit value="Recherche Google"><input name=btnI type=submit value="J'ai de la chance"></td><td nowrap width=25%><font size=-2>&nbsp;&nbsp;<a href=/advanced_search?hl=fr>Recherche avanc?e</a><br>&nbsp;&nbsp;<a href=/preferences?hl=fr>Pr?f?rences</a><br>&nbsp;&nbsp;<a href=/language_tools?hl=fr>Outils linguistiques</a></font></td></tr><tr><td align=center colspan=3><font size=-1>Rechercher dans : <input id=all type=radio name=meta value="" checked><label for=all> Web </label><input id=lgr type=radio name=meta value="lr=lang_fr"><label for=lgr> Pages francophones </label><input id=cty type=radio name=meta value="cr=countryFR"><label for=cty> Pages : France </label></font></td></tr></table></form><br><br><font size=-1><a href="/ads/">Publicit?</a> - <a href="/services/">Solutions d'entreprise</a> - <a href="/intl/fr/about.html">? propos de Google</a> - <a href=http://www.google.com/ncr>Google.com in English</a></font><p><font size=-2>&copy;2007 Google</font></p></center></body></html>

Message cité 1 fois
Message édité par MagicBuzz le 16-05-2007 à 12:32:39
Reply

Marsh Posté le 16-05-2007 à 12:35:39    

Sincèrement tu donnes l'impression de totalement debuter ...
 
Donne au moin plus d'info sur ce que tu veut faire et surtout la facon dont tu veut le faire... (WebApp ? WinApp ? Console ?)
 
Voici l'exemple MSDN: http://msdn2.microsoft.com/en-us/l [...] s.80).aspx
 
Avec cela tu devrais pas avoir trop de problèmes à faire ce que tu veut.

Reply

Marsh Posté le 16-05-2007 à 13:10:33    

MagicBuzz a écrit :

C'est quand même pas compliqué...
 

Code :
  1. System.Net.WebClient wc = new System.Net.WebClient();
  2.            byte[] buff = wc.DownloadData("http://www.google.fr" );
  3.            System.Windows.Forms.MessageBox.Show(System.Text.ASCIIEncoding.ASCII.GetString(buff));
  4.            wc.Dispose();



T'as du raté le chapitre sur IDisposeable je pense.

Code :
  1. using (System.Net.WebClient wc = new System.Net.WebClient()) {
  2.            byte[] buff = wc.DownloadData("http://www.google.fr" );
  3.            System.Windows.Forms.MessageBox.Show(System.Text.ASCIIEncoding.ASCII.GetString(buff));
  4. }

Reply

Marsh Posté le 16-05-2007 à 13:49:41    

Koyomi a écrit :

Sincèrement tu donnes l'impression de totalement debuter ...
 
Donne au moin plus d'info sur ce que tu veut faire et surtout la facon dont tu veut le faire... (WebApp ? WinApp ? Console ?)
 
Voici l'exemple MSDN: http://msdn2.microsoft.com/en-us/l [...] s.80).aspx
 
Avec cela tu devrais pas avoir trop de problèmes à faire ce que tu veut.


(ton avatar :love: )


---------------
Töp of the plöp
Reply

Marsh Posté le 16-05-2007 à 14:11:19    

Taz a écrit :

T'as du raté le chapitre sur IDisposeable je pense.


Ouais, mais j'aime pas la syntaxe using :spamafote:
 
Je trouve que ça rend le code illisible.
 
Au moins avec un appel explicite à Dispose, je suis pas tenté de l'utiliser après, même avec une indentation bancale.

Reply

Marsh Posté le 16-05-2007 à 16:26:43    

MagicBuzz a écrit :

Ouais, mais j'aime pas la syntaxe using :spamafote:
 
Je trouve que ça rend le code illisible.
 
Au moins avec un appel explicite à Dispose, je suis pas tenté de l'utiliser après, même avec une indentation bancale.


sauf que le résultat n'est pas le même. Et si tu veux faire des free, change de langage. Je vois pas comment peut te venir l'envie de faire des Dispose.

Reply

Marsh Posté le 16-05-2007 à 17:02:14    

Ben quoi, c'est joli :o
 
Si j'ai envie de disposer mon code là où je veux, je sui libre de faire ma décoration [:cerveau foudtag]

Reply

Marsh Posté le 16-05-2007 à 18:22:49    

et paf, tu te prends une exception

Reply

Marsh Posté le 16-05-2007 à 19:07:38    

L'exception confirme la règle, c'est bien connu :o :D


Message édité par MagicBuzz le 16-05-2007 à 19:09:24
Reply

Marsh Posté le 29-05-2007 à 20:44:48    

utile de rappeler ce que fait using ? En effet en cas d'expection à l'interieur , l'appel à dispose est toujours fait sur l'objet IDisposeable

 

en gros le code

 


using (StreamReader reader = new StreamReader(@"C:\My Files\test.txt" ))
{
     string text = reader.ReadToEnd();
}

 


est equivalent à

 


StreamReader reader = new StreamReader(@"C:\My Files\test.txt" );
try
{
    string text = reader.ReadToEnd();
}
finally
{
    reader.Dispose();
}

 


mais il est plus joli :O

 

par ailleurs, je vais pte dire une connerie mais est ce 100top ne cherche pas tout simplement la methode statique  System.IO.File.Open() ? ou alors j'ai rien compris...


Message édité par p@radox le 29-05-2007 à 20:48:36
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed