我正在用C ++创建基于文本的冒险,并希望能够为某些区域提供通用描述。
例如,区域[600,20],[1600,20],[1600,240],[600,240]可能需要描述“宽阔的牧场”。我自己设法做了区域检查;
struct point{
int x;
int y;
};
bool inarea = false;
point TL = {600,20};
point BR = {1600,240};
if(location[0]<=TL.x || location[0]>=BR.x){
inarea = false;
cout << "Outside area, fails on X" << endl;
return;
}
if(location[1]<=TL.y || location[1]>=BR.y){
inarea = false;
cout << "Outside area, fails on Y" << endl;
return;
}
inarea = true;
cout << "In area" << endl;
return;
但我不知道如何从给定特定格式的文件加载区域,例如:
600,20 1600,240广阔的牧场
我在网上搜索并认为我需要查看fstream但是还没有设法找到任何简单/逐行解释它的东西。 谢谢你的帮助。
答案 0 :(得分:1)
你可以使用这样的smth来解析
#include <stdio.h>
int main(){
char *in = "600,20 1600,240 Wide open pasturelands";
int a, b, c, d;
char discription[100];
sscanf(in, "%d,%d %d,%d %[^\n]s", &a, &b, &c, &d, discription);
printf(" a = %d\n b = %d\n c = %d\n d = %d\n disc = %s\n",a,b,c,d, discription);
}