Просмотр полной версии : [Вопрос] чтение файла
Всем привет, прошу помочь написать мини код для чтение инфы.
Допустим я хочу чтобы сервер прочитал название сервера из файла и написал в SendRconCommand.
ну думаю вы поняли суть, и пожалуйста функция должна быть без инородных include'ов иди функций. (fread)
Пример файла:
servername = SA-MP 0.3.7
serverwebsite = forum
Спасибо
static const
some_file_path[] = "some_file.ini";
if(fexist(some_file_path))
{
new
temp_str[64],
buf[64],
File: test_file = fopen(some_file_path, io_read);
if(test_file != File: 0)
{
while(fread(test_file, buf))
{
if(strcmp(buf, "servername", true, 10) == 0)
{
strmid(temp_str, buf, strfind(buf, " = ") + 3, sizeof(temp_str));
strins(temp_str, "hostname ", 0);
SendRconCommand(temp_str);
continue;
}
if(strcmp(buf, "serverwebsite", true, 13) == 0)
{
strmid(temp_str, buf, strfind(buf, " = ") + 3, sizeof(temp_str));
strins(temp_str, "weburl ", 0);
SendRconCommand(temp_str);
continue;
}
}
}
fclose(test_file);
}
static const
some_file_path[] = "some_file.ini";
if(fexist(some_file_path))
{
new
temp_str[64],
buf[64],
File: test_file = fopen(some_file_path, io_read);
if(test_file != File: 0)
{
while(fread(test_file, buf))
{
if(strcmp(buf, "servername", true, 10) == 0)
{
strmid(temp_str, buf, strfind(buf, " = ") + 3, sizeof(temp_str));
strins(temp_str, "hostname ", 0);
SendRconCommand(temp_str);
continue;
}
if(strcmp(buf, "serverwebsite", true, 13) == 0)
{
strmid(temp_str, buf, strfind(buf, " = ") + 3, sizeof(temp_str));
strins(temp_str, "weburl ", 0);
SendRconCommand(temp_str);
continue;
}
}
}
fclose(test_file);
}
спасибо вам большое, а что за функция strins
и можно ли еще 1 способ записать файлы на
mysql_connect(host, user, db, pass);
Strins. В общем, вставляет строку в другую строку, причём позицию вставки вы можете указать в 3 аргументе. Если хотите вставить строку в самое начало другой строки, то третий аргумент функции должен быть равен 0 ( как в моём коде ).
Честно говоря, я с базами данных до сих пор не работал.
С базами данных можно проделать тоже самое, что и с файлами.
Если будут новые вопросы по файлам, создавайте новую тему в данном разделе и мы обязательно вам ответим.
Strins. В общем, вставляет строку в другую строку, причём позицию вставки вы можете указать в 3 аргументе. Если хотите вставить строку в самое начало другой строки, то третий аргумент функции должен быть равен 0 ( как в моём коде ).
Честно говоря, я с базами данных до сих пор не работал.
С базами данных можно проделать тоже самое, что и с файлами.
Если будут новые вопросы по файлам, создавайте новую тему в данном разделе и мы обязательно вам ответим.
спасибо, понял
$continue$
19.09.2015, 22:45
спасибо вам большое, а что за функция strins
и можно ли еще 1 способ записать файлы на
mysql_connect(host, user, db, pass);
В смысле?
В смысле?
я вот покодил, не получилось
if(fexist("dbset.ini")){
new buf[64],File: file = fopen("dbset.ini", io_read);
if(file != File: 0)
{
while(fread(file, buf))
{
if(strcmp(buf, "host", true, 10) == 0){
strmid(info[0], buf, strfind(buf, " = ") + 3, sizeof(info));
printf(info[0]);
continue;
}
if(strcmp(buf, "user", true, 13) == 0){
strmid(info[1], buf, strfind(buf, " = ") + 3, sizeof(info));
printf(info[1]);
continue;
}
if(strcmp(buf, "password", true, 13) == 0){
strmid(info[2], buf, strfind(buf, " = ") + 3, sizeof(info));
printf(info[2]);
continue;
}
if(strcmp(buf, "database", true, 13) == 0){
strmid(info[3], buf, strfind(buf, " = ") + 3, sizeof(info));
printf(info[3]);
continue;
}
}
}
fclose(file);
}
host = localhost
user = unreal_user
password = netw@ars_123p
database = unreal_db
if(strcmp(buf, "host", true, 10) == 0)
Не 10, а 4. Когда создаёте новую проверку, то вписываете после аргумента true длину слова ( в данном случае "host" - 4 символа ).
Powered by vBulletin® Version 4.2.0 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot