所以,我有我的指针:
int *p = new int(10);
Run Code Online (Sandbox Code Playgroud)
我打印出以下内容:
&p which is: 0xbdee018
p which is: 0xb8c254b0
Run Code Online (Sandbox Code Playgroud)
&p代表指针的地址,p代表指针本身的映射值的地址.
这是正确的,还是恰恰相反?
我想用标准算法对列表进行排序std::sort.
这是我的尝试:
#include <list>
#include <algorithm>
template<typename T>
class MyList {
private:
std::list<T> myList;
public:
void add(T item) {
myList.push_back(item);
}
void mySort() {
std::sort(myList.begin(), myList.end());
}
};
Run Code Online (Sandbox Code Playgroud)
编译错误:
c:\mingw\lib\gcc\mingw32\4.8.1\include\c++\bits\stl_algo.h:5475:22: note: candidates are:
In file included from c:\mingw\lib\gcc\mingw32\4.8.1\include\c++\bits\stl_algobase.h:67:0,
from c:\mingw\lib\gcc\mingw32\4.8.1\include\c++\bits\char_traits.h:39,
from c:\mingw\lib\gcc\mingw32\4.8.1\include\c++\ios:40,
from c:\mingw\lib\gcc\mingw32\4.8.1\include\c++\ostream:38,
from c:\mingw\lib\gcc\mingw32\4.8.1\include\c++\iostream:39,
from ..\src\firstone.cpp:1:
c:\mingw\lib\gcc\mingw32\4.8.1\include\c++\bits\stl_iterator.h:327:5: note: template<class _Iterator> typename std::reverse_iterator<_Iterator>::difference_type std::operator-(const std::reverse_iterator<_Iterator>&, const std::reverse_iterator<_Iterator>&)
operator-(const reverse_iterator<_Iterator>& __x,
^
c:\mingw\lib\gcc\mingw32\4.8.1\include\c++\bits\stl_iterator.h:327:5: note: template argument deduction/substitution failed:
In file included from c:\mingw\lib\gcc\mingw32\4.8.1\include\c++\algorithm:62:0,
from ..\src\mylist.h:5,
from ..\src\firstone.cpp:2:
c:\mingw\lib\gcc\mingw32\4.8.1\include\c++\bits\stl_algo.h:5475:22: …Run Code Online (Sandbox Code Playgroud) 我有一个持有单个wstring的类.我有2个打印功能ostream,一个用于wostream.
我必须像这样使用它们:
MyClass<char> s;
s.push_back( 'H' );
s.push_back( 'i' );
//Printing with ostream
s.print( std::cout );
MyClass<wchar_t> w;
w.push_back( L'C' );
w.push_back( L'+' );
//Printing with wostream
w.print( std::wcout );
Run Code Online (Sandbox Code Playgroud)
我的问题是,我无法使用的功能ostream,这是我的班级:
template<typename T>
MyClass{
private:
std::wstring *data;
public:
void push_back(const T& t) {
data->push_back(t);
}
//Does not work
void print(std::ostream& out) const{
out<<*data; //Results in a compile error
}
//Does work verry well
void print(std::wostream& out) const {
out << *data;
} …Run Code Online (Sandbox Code Playgroud) 日志永远不会记录ACTION_UP或ACTION_MOVE(我从代码示例中删除了缩短)
这是我缩短版的代码:
public class ProfileBadgeView extends LinearLayout {
Activity act;
public ProfileBadgeView(Context context) {
super(context);
}
public ProfileBadgeView(Context context, AttributeSet attrs) {
this(context, attrs, 0);
}
public ProfileBadgeView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
public void initView(Activity act) {
//..init
}
@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
if (ev.getAction() == MotionEvent.ACTION_DOWN) {
logIntercept("ACTION DOWN");
} else if (ev.getAction() == MotionEvent.ACTION_UP) {
logIntercept("ACTION_UP");
}
return false;
}
@Override
public boolean onTouchEvent(MotionEvent ev) { …Run Code Online (Sandbox Code Playgroud) 我有一个结构:
struct record {
char team[40];
}
Run Code Online (Sandbox Code Playgroud)
我尝试将其属性复制到另一个结构.
struct record rec2;
struct record rec;
rec.team = rec2.team;
Run Code Online (Sandbox Code Playgroud)
除此之外,我rec.team = rec2.team在行上得到以下编译时错误:
error: incompatible types in assignment
Run Code Online (Sandbox Code Playgroud)
如果我对值进行硬编码,则会出现同样的问题.
我的理解是,这是不可能的,但无论如何它显然正在发生.我很感激任何洞察这里发生的事情.
我在一个 android 应用程序中制作了一个调试登录功能。我有一个简单的类,它使用 128 位 AES 加密记录到 .txt 文件。
记录完成后,我用一个简单的 JAVA 程序解密记录的文件。
问题是当我解密加密日志时,我得到了一些奇怪的内容,我也得到了加密内容,但有一些额外的字符,见下文。
Android 应用程序日志部分:
public class FileLogger {
//file and folder name
public static String LOG_FILE_NAME = "my_log.txt";
public static String LOG_FOLDER_NAME = "my_log_folder";
static SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd_HH-mm-ss_SSS");
//My secret key, 16 bytes = 128 bit
static byte[] key = {1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6};
//Appends to a log file, using encryption
public static void appendToLog(Context context, Object msg) {
String msgStr;
String timestamp = "t:" + …Run Code Online (Sandbox Code Playgroud) 我想要两个彼此相邻的按钮,如下所示:[使用][取消](这些只是带有背景图像的按钮,而不是图像按钮)
但结果很奇怪,第一个按钮填满了所有空间,在线性布局中是这样的:[.........Use...........] 而取消按钮是未显示。两个按钮的layout_width都是“wrap_content”,并且线性布局的方向是水平的,有什么问题?
得到一个代码:
<LinearLayout
android:layout_width="fill_parent"
android:orientation="horizontal"
android:id="@+id/linearLayout2"
android:layout_gravity="bottom"
android:layout_height="fill_parent"
android:layout_weight="1">
<Button
android:text="Use"
android:height="14dp"
android:textSize="15sp"
android:textColor="#ffffff"
android:background="@drawable/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/UseButtonDialog"
android:layout_gravity="bottom">
</Button>
<Button android:text="Cancel"
android:background="@drawable/button1"
android:height="14dp"
android:textSize="15sp"
android:textColor="#ffffff"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/CancelButtonDialog"
android:layout_gravity="bottom">
</Button>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
我应该对图像做些什么?
我怎样才能做到这一点 ?我尝试了一些线程但没有发生任何事情.
myView.setOnTouchListener(new OnTouchListener()
{
public boolean onTouch(View arg0, MotionEvent arg1)
{
myButton.setClickable(false);
//Here i want to wait 1 second then:
myButton.setClickable(true);
return false;
}
});
Run Code Online (Sandbox Code Playgroud)
请问有人在我的代码中等待一秒钟吗?
我得到了我的文件下载方法,我是从教程中做到的:
InputStream input;
try
{
URL url = new URL(strURL);
input = url.openStream();
byte[] buffer = new byte[1500];
File OpenGuideFolder = new File("/sdcard/MyFiles/");
OpenGuideFolder.mkdirs();
OutputStream output = new FileOutputStream(OpenGuideFolder.toString() + "/" + id + "_" + pos + "_normal.png");
try
{
int bytesRead = 0;
while ((bytesRead = input.read(buffer, 0, buffer.length)) >= 0)
{
output.write(buffer, 0, bytesRead);
for(int i =0;i<buffer.length;i++)
{
Log.i("buffer.length", Integer.toString(buffer.length));
}
}
}
finally
{
output.close();
buffer = null;
}
}
catch (Exception e)
{
Log.i("Download Pictures …Run Code Online (Sandbox Code Playgroud) 我得到了一些动态变化的文本,我需要一种方法来查找其中的一些部分.特别喜欢这些:
+ 124now
+ 78now
+ 45now
因此,我的值始终以"+"加符号开头,然后是一些数字,最小值为1,然后是"now"字.
我试过很多这样的方法:
if(myString.contains("+[0-9]+now")) //false
Run Code Online (Sandbox Code Playgroud)
但我厌倦了......你能帮忙吗?
我得到了Launcher标签,但是我的应用程序仍然没有在eclipse编译时启动,问题是什么?
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.myproject.test"
android:versionCode="1"
android:versionName="1.0" >
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCES_LOCATION_EXTRA_COMMANDS"/>
<uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION"/>
<uses-permission android:name="android.permission.CONTROL_LOCATION_UPDATES"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="15" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen">
<service android:name=".CurrentMoodService">
</service>
<receiver android:name=".CurrentMoodWidgetProvider">
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
<category android:name="android.intent.category.DEFAULT"></category>
<category android:name="android.intent.category.ALTERNATIVE"></category>
</intent-filter>
<intent-filter>
<action android:name="com.myproject.test.widget.CurrentMoodService.MOODY" />
</intent-filter>
<meta-data android:name="android.appwidget.provider"
android:resource="@xml/widgetproviderinfo" />
</receiver>
<activity
android:name="com.myproject.test.MainTabActivity"
android:label="@string/title_activity_main" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="com.myproject.test.activities.Home"></activity>
<activity android:name="com.myproject.test.activities.Check"></activity>
<activity android:name="com.myproject.test.activities.Map"></activity>
<activity android:name="com.myproject.test.activities.Contact"></activity>
<activity android:name="com.myproject.test.activities.More"></activity>
<activity android:name="com.myproject.test.activities.About"></activity>
</application>
Run Code Online (Sandbox Code Playgroud)
Calendar c = Calendar.getInstance();
String myDateString = (String) DateFormat.format("yyyy-MM-dd hh:mm", c.getTime());
dateTv.setText(myDateString);
Run Code Online (Sandbox Code Playgroud)
输出是:
2014-02-13 04:31
小时实际上不是04,它是16,我的意思是它是在名词之后,而不是在午夜之后(早上4点),如果你知道我的意思.
为什么会发生这种情况以及如何解决这个问题?
编辑:
对于可爱的-1选民:
正如有人建议的那样:
String myDateString = (String) DateFormat.format("yyyy-MM-dd HH:mm", c.getTime());
Run Code Online (Sandbox Code Playgroud)
这个解决方案给了我这个确切的String:
2014-02-13 HH:45
是.我的小时里有2个'H'字符.它只是一个H字符,而不是一个数字.
android ×7
c++ ×4
java ×3
android-date ×1
android-file ×1
c ×1
cryptography ×1
encryption ×1
pointers ×1
regex ×1
stl ×1
string ×1
struct ×1
wait ×1