Jump to content

Считывание строковой информации с помощью String::scanf


photo

Recommended Posts

Здравствуйте.

 

Обнаружил следующую проблему: при попытке считать с помощью String::scanf строковую информацию ничего не происходит.

 

Пример кода следующий:

float x;
const char *text;
String *test = new String("Test ;134");
test->scanf("%s ;%f", text, &x);     //переменная text = "", хотя я ожидаю, что text = "Test". При этом x = 134, как и ожидается.

При этом если использовать написанный выше шаблон формата для String::printf, в строку все записывается верно.

В чем может быть проблема?

Link to comment

Привет!

Похоже, что в движке баг - scanf некорректно обрабатывает строки.

В качестве временного решения можно использовать что-нибудь вроде:

#include <stdio.h>

float x;
char text[255];
String *test = new String("Test ;134");
sscanf(test->get(), "%s ;%f", &text, &x); //std sscanf

Поправим в следующей версии движка.

Спасибо!

How to submit a good bug report
---
FTP server for test scenes and user uploads:

Link to comment
  • 1 month later...
×
×
  • Create New...