Archive for the ‘ASP.NET (C#)’ Category

Printf (C++) je …?

Tuesday, October 9th, 2007

Večkrat sem že slišal, da funkcija printf (v C/C++) izpiše besedilo NA ZASLON. Kdo si je to sploh izmislil? Res je, da je to največkrat namenjenu izpisovanju na zaslon, vendar ni nujno.

Primer v katerem se vidi, da ni nujno, da izpiše na zaslon:

C++:

#include <iostream>

int main()
{
printf(”abc”);
}

PHP:

<?php
$program=exec(”test.exe”);if($program==”abc”)
{
echo “da”;
}else{
echo “ne”;
}
?>

Čisto preprost primer, vendar pokaže, da trditev “Funkcija printf izpiše besedilo na zaslon.” ne drži.

Torej pravilno bi bilo recimo nekaj takega: “Funkcija printf vrne besedilo.” ali “Funkcija printf izpiše besedilo. (manj primerno)”

Še nekaj za C# programerje (ker podobno pravijo tudi za C#, vendar pri njemu je funkcija Console.WriteLine):

Konzolna aplikacija:

using System;
using System.Collections.Generic;
using System.Text;

namespace Program
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine(”Testni izpis”);
string x=Console.ReadLine();
Console.WriteLine(x);
}
}
}

Še spletna aplikacija (.aspx):

<%@ Page Language=”C#” AutoEventWireup=”true” Debug=”true” CodeFile=”Default.aspx.cs” Inherits=”_Default” %>

<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>

<html xmlns=”http://www.w3.org/1999/xhtml” >
<head runat=”server”>
<title>Testna stran</title>
</head>
<body>
<form id=”form1″ runat=”server”>
<div>

</div>
</form>
</body>
</html>

Še .cs datoteka za spletno aplikacijo:

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.IO;

public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string pot = Request.PhysicalApplicationPath + “Program.exe”;
System.Diagnostics.ProcessStartInfo psi = new System.Diagnostics.ProcessStartInfo(pot);
psi.UseShellExecute = false;
psi.RedirectStandardOutput = true;
psi.RedirectStandardInput = true;
psi.RedirectStandardError = true;

System.Diagnostics.Process proc = System.Diagnostics.Process.Start(psi);

System.IO.StreamReader sr = proc.StandardOutput;
System.IO.StreamWriter sw = proc.StandardInput;

sw.WriteLine(Request.QueryString[”kaj”]);
string prebrano=sr.ReadToEnd();
Response.Write(”Izpis je:<br />” + prebrano.Replace(System.Environment.NewLine, “<br />”));

sr.Close();
sw.Close();

proc.Close();
proc.Dispose();
}
}

:-)







www.izmenjava.com