我在这个程序上有一个错误
本文关键字:有一个 错误 程序上 | 更新日期: 2023-09-27 18:16:16
在"using System;", "using System. "namespace BinaryFileApplication"answers"namespace BinaryFileApplication"。所以我真的不知道怎么处理它们才能让C程序识别它们。
using System;
using System.IO;
namespace BinaryFileApplication
{
class Program
{
static void Main(string[] args)
{
BinaryWriter bw;
BinaryReader br;
int i = 25;
double d = 3.14157;
bool b = true;
string s = "I am happy";
//create the file
try
{
bw = new BinaryWriter(new FileStream("mydata", FileMode.Create));
}
catch (IOException e)
{
Console.WriteLine(e.Message + "'n Cannot create file.");
return;
}
//writing into the file
try
{
bw.Write(i);
bw.Write(d);
bw.Write(b);
bw.Write(s);
}
catch (IOException e)
{
Console.WriteLine(e.Message + "'n Cannot write to file.");
return;
}
bw.Close();
//reading from the file
try
{
br = new BinaryReader(new FileStream("mydata", FileMode.Open));
}
catch (IOException e)
{
Console.WriteLine(e.Message + "'n Cannot open file.");
return;
}
try
{
i = br.ReadInt32();
Console.WriteLine("Integer data: {0}", i);
d = br.ReadDouble();
Console.WriteLine("Double data: {0}", d);
b = br.ReadBoolean();
Console.WriteLine("Boolean data: {0}", b);
s = br.ReadString();
Console.WriteLine("String data: {0}", s);
}
catch (IOException e)
{
Console.WriteLine(e.Message + "'n Cannot read from file.");
return;
}
br.Close();
Console.ReadKey();
}
}
你不能。这看起来像。net代码。为什么期望"C"编译器理解它?
这段代码不是C -它是c#。您必须使用 c# 编译器构建它(在Visual Studio中,或使用Mono,或类似的东西)。
如果你真的想把它构建成C,你必须把它转换成合法的C代码。与之相近的是:
#include <stdio.h>
int main( int argc, char **argv )
{
FILE *bw, *br;
int i = 25;
double d = 3.14157;
_Bool b = true;
char s[] = "I am happy";
bw = fopen( "mydata", "wb" );
if ( bw )
{
if ( fwrite( &i, sizeof i, 1, bw ) != sizeof i )
// error writing i;
if ( fwrite( &d, sizeof d, 1, bw ) != sizeof d )
// error writing d
if ( fwrite( &b, sizeof b, 1, bw ) != sizeof b )
// error writing b
if ( fwrite( s, sizeof s, 1, bw ) != sizeof s ) // no & operator on s
// error writing s
fclose( bw );
}
// remainder left as exercise
}
C没有命名空间1,它没有类,它没有BinaryReader
或BinaryWriter
,它不做结构化异常处理等。与c#完全不同。
<一口>一口>
- 也就是说,它没有用户可定义的命名空间。有4 .内置名称空间:标签名称、结构体和联合标记名称、结构体和联合成员名称,以及其他所有内容。