Я довольно долго играю в игры Valve, но я никогда не был хорош в использовании, используя массивы char для управления строками. Я ДЕЙСТВИТЕЛЬНО хотел бы улучшить, учитывая, сколько времени я трачу на них. Очевидно, что использование правильных строк было бы неплохо, но поскольку все функции SDK возвращают char * или принимают его как args, он не делает многого, потому что для преобразования назад и четвертого. У кого-нибудь есть хорошие ссылки, насколько они лучше понимают их? Большинство из того, что я нахожу в Google, просто были фрагментами.Улучшение стиля строки стиля C
Кроме того, я пытаюсь разобрать очень простой текстовый файл. В основном содержание выглядеть следующим образом ...
PatchVersion = 1.1.1.2 ProductName = л4д APPID = 440
Я хочу, чтобы получить PatchVersion и ProductName. Мой код выглядит примерно так, но на самом деле просто отсутствие надлежащего знания оставило меня в тупике. strtok только извлекает токен до знака '=', strchr дает мне указатель на его расположение, но просто не знает хорошего метода.
bool ParseSteamFile()
{
FileHandle_t file;
file = filesystem->Open("steam.inf", "r", "MOD");
if(file)
{
int size = filesystem->Size(file);
char *line = new char[size + 1];
while(!filesystem->EndOfFile(file))
{
char *subLine = filesystem->ReadLine(line, size, file);
Msg("SUBLINE: %s\n", subLine);
char *buffer = "";
if(strstr(subLine, "PatchVersion"))
{
char *c = strtok(subLine, "=");
while(c != NULL)
{
Msg("Token: %s\n", c);
c = strtok(subLine, "=");
}
}
}
}
}
Не следует ли помечать этот вопрос C? – wilhelmtell