Login
C++
336 просмотров
Перейти к просмотру всей ветки
Пишу в Borland Builder.
Маленькая функция:
FILE *fp;
char LaName[256];
AnsiString Pfad = GetCurrentDir() + "\\data.dat";
fp = fopen(Pfad.c_str(), "r",0);
if (fp != NULL)
{
fscanf(fp, "%s", &LaName,0);
...
...
}
fclose(fp,0);
Т.е. считываю кой-чего из текстового файла, в котором имеется, скажем, просто строка текста.
Проблема: почему текст считывается только до первого пробела? И, разумеется, как это исправить?
Это вообще ещ╦ не готовая функция, спотыкаюсь в самом начале...
Для чего это нужно?..
Смысл такой. Имеется текст, состоящий из строк с таким содержанием:
имя (разделитель) фамилия (разделитель) возраст
Ну это, например. Содержание не так важно.
Нужно записать это вс╦ в массив.
Идея ещ╦ была вот такая:
fscanf(fp, "%s %s %d", &FiName, &LaName, &Age,0);
Но не знаю, как вставить разделитель. Выискал функцию strtok(), но тоже что-то толку нет. В общем, впору кричать "караул".
"...вечно молодой, вечно пьяный..."
Маленькая функция:
FILE *fp;
char LaName[256];
AnsiString Pfad = GetCurrentDir() + "\\data.dat";
fp = fopen(Pfad.c_str(), "r",0);
if (fp != NULL)
{
fscanf(fp, "%s", &LaName,0);
...
...
}
fclose(fp,0);
Т.е. считываю кой-чего из текстового файла, в котором имеется, скажем, просто строка текста.
Проблема: почему текст считывается только до первого пробела? И, разумеется, как это исправить?
Это вообще ещ╦ не готовая функция, спотыкаюсь в самом начале...
Для чего это нужно?..
Смысл такой. Имеется текст, состоящий из строк с таким содержанием:
имя (разделитель) фамилия (разделитель) возраст
Ну это, например. Содержание не так важно.
Нужно записать это вс╦ в массив.
Идея ещ╦ была вот такая:
fscanf(fp, "%s %s %d", &FiName, &LaName, &Age,0);
Но не знаю, как вставить разделитель. Выискал функцию strtok(), но тоже что-то толку нет. В общем, впору кричать "караул".

"...вечно молодой, вечно пьяный..."
[син]"...вечно молодой, вечно пьяный..."[/син]