📅  最后修改于: 2023-12-03 14:57:53.556000             🧑  作者: Mango
输入输出(IO)是计算机系统中与外部世界交换数据的重要方式。它允许程序读取外部数据,处理数据并输出结果。本文将会介绍一些常用的输入输出接口。
在终端上使用程序时,我们可以通过控制台输入数据,同时也能在控制台上输出数据。这就是标准输入输出。在 C 语言中,我们可以通过如下方式使用标准输入输出:
#include <stdio.h>
int main()
{
int num;
printf("请输入一个整数:");
scanf("%d", &num);
printf("您输入的整数是:%d\n", num);
return 0;
}
上述代码使用了 printf()
和 scanf()
函数进行标准输入输出。printf()
函数用于输出数据,而 scanf()
函数用于输入数据。需要注意的是,scanf()
函数必须指定具体的格式化字符串以说明输入数据的类型。
除了标准输入输出,我们还可以使用文件输入输出。文件输入输出允许程序读取或写入文件中的数据。在 C 语言中,我们可以使用标准库中的文件操作函数实现文件输入输出。
#include <stdio.h>
int main()
{
FILE *fp;
char str[100];
/* 写入文件 */
fp = fopen("test.txt", "w");
fprintf(fp, "这是写入的文字\n");
fclose(fp);
/* 读取文件 */
fp = fopen("test.txt", "r");
fgets(str, 100, fp);
printf("读取的字符串是:%s\n", str);
fclose(fp);
return 0;
}
上述代码中,我们使用 fopen()
,fprintf()
和 fclose()
函数实现了将字符串写入文件和从文件中读取字符串的操作。
网络输入输出允许程序通过网络读取或写入数据。在网络编程中,我们通常使用套接字(socket)进行网络输入输出。以 Python 语言为例,我们可以通过如下方式使用套接字进行网络输入输出:
import socket
# 建立套接字
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 连接服务器
s.connect(('www.example.com', 80))
# 向服务器发送数据
request = 'GET / HTTP/1.1\r\nHost: www.example.com\r\n\r\n'
s.send(request.encode())
# 接收服务器响应数据
response = s.recv(1024)
# 输出响应数据
print(response.decode())
# 关闭套接字
s.close()
上述代码中,我们使用 socket()
函数创建了一个套接字,并通过 connect()
函数连接至服务器。使用 send()
函数向服务器发送请求数据,并使用 recv()
函数接受服务器响应数据。最后使用 close()
函数关闭套接字。
数据存储是计算机系统中重要的一部分。数据库是一种数据存储方式,它可以对数据进行高效、可靠的存储和管理。在程序中,我们可以通过数据库输入输出,实现对数据库中数据的增删改查操作。以 Java 语言为例,我们可以使用以下代码实现数据库输入输出:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class Main {
public static void main(String[] args) {
try {
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/test", "root", "root");
PreparedStatement pst = conn.prepareStatement("SELECT * FROM user WHERE id=?");
pst.setInt(1, 1);
ResultSet rs = pst.executeQuery();
while(rs.next()) {
System.out.println(rs.getInt(1) + " " + rs.getString(2));
}
conn.close();
} catch (ClassNotFoundException | SQLException e) {
e.printStackTrace();
}
}
}
上述代码中,我们使用 JDBC(Java Database Connectivity)连接至 MySQL 数据库,使用 PreparedStatement 执行 SQL 查询,并使用 ResultSet 遍历查询结果。注意:在使用 JDBC 连接数据库时,需要导入相应的 JDBC 驱动包。