任何人都可以解释以下程序的输出:
#include <iostream>
using namespace std;
int main()
{
int test = 0;
cout << "First character " << '1' << endl;
cout << "Second character " << (test ? 3 : '1') << endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
输出:
第一个字符1
第二个字符49
但这两个printf
陈述应该打印相同的行.
哪种是使用套接字发送数据的最佳方法:
方法一:每次需要发送数据时创建一个新的socket,传输完成后关闭。
方法二:使用同一个socket,而不是创建一个新的socket,即使在等待新数据时也保持连接。
我想/res/raw
通过文件名获取文件夹中文件的资源ID .我尝试了以下两种方法,但它们都将资源ID返回为0
(零).
方法1:
String filename = "abc.txt";
int id = getResources().getIdentifier(filename, "raw", getPackageName());
Run Code Online (Sandbox Code Playgroud)
方法2:
String filename = "abc.txt";
String fullyQualifiedName = getPackageName() + ":raw/" + filename;
int id = getResources().getIdentifier(fullyQualifiedName, null, null);
Run Code Online (Sandbox Code Playgroud)
如果这不是正确的方法,那么我们如何通过位于raw
Android 中的文件夹中的文件名获取资源ID .