我有一个xml文件,其中有字符串和字符串数组.我有一个班级,我点击一个listitem,而在另一个班级我列出其他项目.在xml中有一些字符串,其名称是被点击的项目修改名称,值是字符串数组名称.我找到了一个解决方案,如何将一个变量添加到getResources(9.getStringArray()但它不起作用.程序启动,但当我点击任何listitem时,我的活动就停止工作.我的类文件:
String artistpicked = extras.getString("artist");
String[] firstW = artistpicked.split(" ");
firstW[0] = firstW[0].trim();
String albumSearch = firstW[0] + "_code";
int getRes = getResources().getIdentifier(albumSearch, "string", getPackageName());
String setRes = String.valueOf(getRes);
int getRes2 = getResources().getIdentifier(setRes, "array", getPackageName());
String[] albums = getResources().getStringArray(getRes2);
setListAdapter(new ArrayAdapter<String>(this, R.layout.list_item, albums));
TextView t = (TextView) findViewById(R.id.albumName);
t.setText(setRes);
Run Code Online (Sandbox Code Playgroud)
TextView用于检查变量.albumSearch给出了"modifiedartistpicked_code",这很好.getRes给出了xml("something_array")的值,setRes给出了它的实际id号(getStringArray要求的值).getRes2与getRes相同,只是在那里检查它是否正常工作.当我注释掉接下来的两行,String albums []和setListAdapter时,程序可以正常工作,但它不会列出项目.
xml文件:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="artists_array">
<item>code1 example</item>
<item>code2 example</item>
</string-array>
<string-array name="code1_array">
<item>item1</item>
<item>item2</item>
<item>item3</item>
</string-array>
<string-array name="code2_array">
<item>item1</item>
<item>item2</item>
<item>item3</item>
</string-array>
<string name="code1_code">code1_array</string>
<string name="code2_code">code2_array</string> …Run Code Online (Sandbox Code Playgroud) 我想创建一个创建子域名的注册表单(但在localhost上),但我遇到了一些问题.我知道如何创建子域,例如在vhosts中编写这些子域:
<VirtualHost *:80>
ServerAdmin webmaster@dummy-host.hleclerc-PC.ingenidev
DocumentRoot "C:/wamp/www/something/"
ServerName localhost
ServerAlias something.localhost
ErrorLog "logs/error.log"
CustomLog "logs/access.log" common
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
并将此行放在主机中:
127.0.0.0 something.localhost
Run Code Online (Sandbox Code Playgroud)
它正在工作,但我想要的是当我注册一个新的子域(例如:other)时,然后当我尝试打开other.localhost时,它会打开指定的文件夹(../www/other/).我在vhosts中尝试了"ServerName*.localhost","ServerName localhost","ServerAlias*.localhost","ServerAlias localhost",以及主机"127.0.0.1*.localhost"中的所有这些排列,但是这些都不适合我.我已经考虑过了,在注册时我在vhosts中添加了一个具有最佳数据的新块,但我认为它不是非常安全/可行/或者是最好的方法.
希望可以有人帮帮我!
提前致谢!
我有两个向量,我想用第二个填充第一个。向量声明如下:
vector<Vec3> firstVector;
Run Code Online (Sandbox Code Playgroud)
其中 Vec3 是一个带有 float x, y, z 的结构体。我试过用assign喜欢这个:
secondVector.assign(firstVector.begin(), firstVector.end());
Run Code Online (Sandbox Code Playgroud)
但它停下来抱怨,end() 有问题。我也试过推回,但当然它不起作用。
正如我之前读到的那样,我应该用assign来做,但我不知道如何正确解决它。
编辑:
插入和分配的错误消息是相同的:
这个 0x00000000 ... std::vector > * const
[size] CXX0030:错误:无法计算表达式
[容量] CXX0030:错误:无法计算表达式
并且它指向 Visual Studio 的向量文件以迭代器结束返回。插入它指向迭代器开始。
编码:
第一个 Vector 也是结构的一部分:
struct o3DModel
{
vector<Vec3> v_Vertices;
};
struct Vec3 {
public:
Vec3() {}
Vec3(float X, float Y, float Z)
{
x = X;
y = Y;
z = Z;
}
float x, y, z;
};
Run Code Online (Sandbox Code Playgroud)
我像这样在我的应用程序类中声明上面的“o3DModel”结构并将其发送到我的加载器类:
o3DModel *tfTable;
void TheApp::Init()
{
objLoader->ImportOBJ(tfTable, "testcube.obj");
} …Run Code Online (Sandbox Code Playgroud) 我已经实现了菱形算法,我想以文件格式存储地图数据.我主要是C++的初学者,或者至少在文件读写方面,所以我在哪里存储大量数据存在问题.
例如,如果我创建一个65*65的地图,那么它是16384个三角形,每个都有3个坐标,3个法线坐标.当然我可以把它分成例如4 32*32地图片,但它仍然很多.当然真正重要的是速度,在txt中写入所有数据没有问题,但它确实很慢,特别是当我增加地图大小时.
我不是真的需要一个来源,而是需要阅读或从中学习的东西.
我在一个文件中读到ifstream,并且我想写出cout已经读取了多少文件,以百分比表示.
long length = 0, now = 0;
int i = 0;
double d = 0;
file.seekg( 0, std::ios::end );
length = file.teelg();
file.seekg( 0, std::ios::beg );
while ( std::getline( file, buffer ) ) {
now = file.teelg;
i = now / length * 100;
d = now / length * 100;
std::cout << length << " " // working
<< now << " " // working
<< ( now / length * 100 ) << …Run Code Online (Sandbox Code Playgroud) 我在char指针中有一个十六进制值(例如'F3'),我想将它转换为byte,因为我希望它放入一个数组.我知道有很多解决方案,但它们不是我想要的.
提前致谢!
编辑:
好吧,也许我没有写过一切.我现在拥有的:
char aChar[5];
itoa (j, aChar, 16);
Run Code Online (Sandbox Code Playgroud)
j现在是3,我只想要它在字节中.Atoi,scanf没有帮助,那些是不同的解决方案.