怎么从文件中读取一行内容到数据库中用C写
时间: 2024-05-04 12:16:41 浏览: 84
您可以使用C语言中的文件操作函数从文件中读取一行内容,然后将其插入到数据库中。以下是一个示例代码:
```
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <mysql/mysql.h>
#define MAX_LINE_LENGTH 1024
int main() {
// 建立数据库连接
MYSQL *conn = mysql_init(NULL);
if(conn == NULL) {
printf("Error %u: %s\n", mysql_errno(conn), mysql_error(conn));
return 1;
}
if(mysql_real_connect(conn, "localhost", "username", "password", "database", 0, NULL, 0) == NULL) {
printf("Error %u: %s\n", mysql_errno(conn), mysql_error(conn));
return 1;
}
// 打开文件并读取每一行数据,插入到数据库中
FILE *file = fopen("filename.txt", "r");
if(file == NULL) {
printf("Error opening file.\n");
return 1;
}
char line[MAX_LINE_LENGTH];
while(fgets(line, MAX_LINE_LENGTH, file) != NULL) {
// 去掉换行符
char *pos;
if ((pos=strchr(line, '\n')) != NULL) {
*pos = '\0';
}
// 插入到数据库中
char *query = (char*) malloc(sizeof(char) * (strlen(line) + 128));
sprintf(query, "INSERT INTO table_name (column_name) VALUES ('%s')", line);
if(mysql_query(conn, query) != 0) {
printf("Error %u: %s\n", mysql_errno(conn), mysql_error(conn));
return 1;
}
free(query);
}
fclose(file);
// 关闭数据库连接
mysql_close(conn);
return 0;
}
```
此代码假定文件中每一行数据的最大长度为1024个字符,读取文件时每次读取一行,然后去掉换行符,最后将该行数据插入到名为`table_name`的表的`column_name`列中。您需要将`username`、`password`、`database`、`table_name`和`column_name`替换为实际的值。
阅读全文