@import url(http://www.shnenglu.com/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);
1 for (CImageIndexItem* const* p = iter.NextValue(); p; p = iter.NextValue() )
2 {
3 if(*p)
4 {
5 TTime temp((*p)->iImageTime );
6 TTimeIntervalDays iInterval = homeTime.DaysFrom(temp);
7 if(iInterval.Int() > 2)
8 {
9 //如果超出期限,刪除本地圖片文件
10 (*p)->DeleteBitmap();
11 TBuf8<64> iname;
12 iname.Copy( *((*p)->iImageName) );
13 delete *p;
14 TInt why = iImageIndexArrayHashMap->Remove(iname);
15 iter.Reset();
16 }
17 }
18 }
圖片引擎使用了RHashMap,結果在RHashMap::Remove的時候出現了很奇怪的問題,指針*p執行完Remove后被改變了指向地址,造成再次調用出現空指針錯誤,將對*p的調用調至Remove語句之上,在循環中會出現User208錯誤,根據官方的文檔描述如下:This panic is raised by the member function Next()
of the internal class THashTableIterBase
if, while attempting to step a hash table iterator to the next entry, the iterator is found to point to an invalid table entry. This will typically occur if elements have been removed from the hash table without resetting the iterator. 于是在Remove之后添加iter.Reset(),問題解決,不過仍然不了解Remove里面對其做了什么操作造成類似的問題,Mark求解
Symbian C++ :
Undefined symbol: 'int operator==(enum TTrue, int)
TBool is ;
if( is == ETrue );
這種寫法是錯誤的不能build
正確的方法是寫成 if( is )
而且即使這種是正確的,寫類似的代碼也看起來太差勁了!
@import url(http://www.shnenglu.com/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);
很久沒有更新我的Blog了,當然,之前寫的也不怎么樣:)
我今年本科畢業,7月5日入職新浪,到今天,已經兩個月+1了,目前負責手機微博Symbian客戶端觸屏版的開發,
我的weibo,以后還是繼續更新blog吧,見證我的職業生涯。
用QT Creater編程,如果沒有自動補全是很痛苦的事情,于是便查閱了QT的文檔,發現CTRL+SPACE是自動補全的快捷鍵;
但是在 Creater里使用居然沒有效果,估計是輸入法切換的沖突(CTRL+SPACE是我中英文輸入的默認快捷鍵)
于是尋求解決方法,在QT Creater->Tools->Options... 里找到environment->Keyboard,發現TextEditor.CompleteThis命令,其快捷鍵是Ctrl+Space;
再后面添加Alt+/ (Eclipse里習慣的~~)后應用退出,再次進入Editor,仍舊無效果,重新找到TextEditor.CompleteThis點擊那個紅叉叉,將原快捷鍵刪除后,添加Alt+/
成功,代碼提示順利。
題目要求不能開額外的數組,空間不允許
要求完成以下結果,比如輸入abcdefgh 給定n為3則使得字符數組順序變為defghabc
遞歸實現如下:
#include<stdio.h>
#include<string.h>


void swap(char *s1 ,int ls1, char *s2,int ls2)
{
if(ls1 == 0 || ls2 == 0) return;

if(ls1 == ls2)
{

for(int i = 0 ; i < ls1 ; i++ )
{
s1[i] = s1[i] + s2[i];
s2[i] = s1[i] - s2[i];
s1[i] = s1[i] - s2[i];
}
}

else if(ls1 < ls2)
{
swap(s1,ls1,s2,ls1);
swap(s2,ls1,s2+ls1,ls2-ls1);
}

else
{
swap(s1+ls1-ls2,ls2,s2,ls2);
swap(s1,ls1-ls2,s1+ls1-ls2,ls2);
}
}

int main()
{
char s[100];
scanf("%s",s);
int n ;
scanf("%d",&n);
int len = strlen(s);
swap(&s[0],n,&s[n],len-n);
printf("%s\n",s);
return 0;
}

摘要: Java對文件進行了讀寫操作,信息存儲在phonesnumber.txt里面
//Main.javapackage exp5_5;import java.io.IOException;public class Main { /** *//** &...
閱讀全文
最大流最小割定理:最大流等于最小割,即max V(f) = min C(U, W)。
說明,自己的證法,如有錯誤請大家提出:
聲明:最大流=|f|,割為=|[S,T]|
1、|[S,T]| >= |f| (易知,最大流可能比管子粗細還大?)
2、有如果有Df( |[S,T]| ) = 0 ,則一定是最大流(否則最大流的多于|[S,T]|的流量從何處流...)
3、如果當前流量已經最大,從源到匯的任意一條路徑一定有飽和邊(增廣路法則)
4、*反證,如果對任意S,T沒有Df( |[S,T]| ) = 0
取S ={源點},T={V-S};則有源點連接未飽和管道的另一端點K,然后取S={源點,K},T={V-S},則有源點連接未飽和管道的另一端點K1,然后取S={源點,K,K1},T={V-S},則有源點連接未飽和管道的另一端點K2.........當V-S = 匯點,我們發現源點,K,K1,K2,K3....匯點,為一條增廣路(可能K1,K2不相連,而直接源點,K,K2)
得證。
摘要: http://www.w3school.com.cn/php/index.asp這里的函數查詢很好array相關函數str相關函數很有用~PHP5.1以上時區需要設置:
ini_set('date.timezone','Asia/Shanghai');
<?php include_once "../conn....
閱讀全文
折騰了一下午才配好了QtCreater+S60_sdk+Qt_for_Symbian的配置
在虛擬機中運行寫的QT小程序如下:
注意幾個問題:
一個是Qt_for_Symbian(4.6.2)最好最后裝,這樣QtCreater直接能夠識別s60sdk和CSL和Carbide的目錄
二是要注意將環境變量都配置好(運行Carbide安裝后的“Configure environment for WINSCW command line”)
三是build成功卻無法運行在虛擬機上的注意了,QtCreater的Projects選項卡中General部分要選擇Show Details
Tool Chain 選擇成WINSCW
如果有想搭這么個環境而犯愁有問題的 可以給我Email : hongtaozhy@qq.com 。。我悲劇這么久希望能幫到大家~
