嘿
我正在尝试列出一个包含非英文字符文件的文件夹。
下面的函数接受一个参数,比如C:\
并列出其中的文件。但不是100%正确。对于土耳其语字符,它会打印一些符号,即使我使用wchar_t
类型。
void listFolder(const wchar_t* path){
DIR *dir;
struct _wdirent *dp;
wchar_t * file_name;
wchar_t fullpath[MAX_PATH];
dir = _wopendir(path);
while ((dp=_wreaddir(dir)) != NULL) {
//printf("[i]debug: \t%s\n", dp->d_name);
if ( !wcscmp(dp->d_name, L".") || !wcscmp(dp->d_name, L"..") ){
// do nothing
}
else {
file_name = dp->d_name; // use it
wprintf(L"[*]file_name: \t\"%ls\"\n",file_name);
}
}
_wclosedir(dir);
}
我目前正在使用带有CodeBlocks 16.01的Windows 7 x64
奇怪的是,在Ubuntu 16.04 下使用CodeBlocks完全正常。
答案 0 :(得分:0)
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
//Here 6 is last position
if (position == 6 && positionOffset == 0 && !isLastPageSwiped){
if(counterPageScroll != 0){
isLastPageSwiped=true;
//Next Activity here
}
counterPageScroll++;
}else{
counterPageScroll=0;
}
}
用于ANSI,而不是Unicode。请改用A=[1,2,3];
B=[1,3,2,4];
// Assign the shorter length to the temporary Integer minimum length
int minimum_length = (A.length <= B.length) ? A.length : B.length
for (int count=0; count < minimum_length; count++) {
if (A[count).equals(B[count]) {
System.out.println(A[i] + "\t " + B[i]);
} else {
NumberOfDifference++;
System.out.println(A[i] + "--" + B[i]);
}
//Now you can just add all other integers as differences to the NumberOfDifferences-Object
for (int others = A.length; others < B.length; others++) {
NumberOfDifferences++;
System.out.println("null" + "--" + B[i]);
}
。
Windows对打印Unicode的支持有限。在MinGW中使用DIR *dir
打印Unicode。例如:
_WDIR