喵宅苑 MewoGarden × 技术宅社区II | Z站 Z Station 棒棒哒纯文字二次元技术社区

正文

技术问答

作者:系统
{"name":"技术问答","sizeType":1,"icon":"","order":9999}

回复

想学linux操作系统,不知道如何下手。。

作者:天荒地老
求解救
查看回复

杭电2024:C语言合法标识符 求助

作者:674534638
[attach]335569[/attach] 题如上图。以下是我的代码: #include<stdio.h> #include <string.h> int main(){ char a[50]; int n,m,i,j,k; while(scanf("%d\n",&n)!=EOF){ m=0; //m=0 Yes m=1 No for(k=0;k<n;k++){ gets(a); if((a[0]>='a'&&a[0]<='z')||(a[0]>='A'&&a[0]<='Z')||(a[0]=='_')){ for(j=1;j!='\0';j++){ if((a[0]>='a'&&a[0]<='z')||(a[0]>='A'&&a[0]<='Z')||(a[0]=='_')||(a[j]>='0'&&a[j]<='9')) m=0; else m=1;break; } } else m=1; if(m==0) printf("Yes\n"); else printf("No\n"); } } return 0; } 前两个测试都过了,就是第三个“ff ai_2”,带有空格的时候,答案错误。一直想不通哪里错误。求大神帮助!!! %132:}%132:}%132:}%132:}%132:}%132:}%132:}%132:}%132:}%132:}%132:}
查看回复

游戏:VIM大冒险超赞的vim学习方法

作者:syy110
这个游戏是一个使用VIM热键玩的游戏。你可以在玩游戏的过程中熟悉Vim的热键。
你可以点击图片,或是图片下的网址打开这个游戏
我试玩了一下这个游戏,真的很不错,下面是一些我给的游戏攻略。
  • 第一关,场景一,首先是使用vim的h, j, k, l四个键来控制方向。(如果你妄图使用光标键的话,系统会出现黄色警告的)你需要使用h, j, k, l 四个方向走到图的右边,找到一把钥匙。(注意:迷宫墙上有些斜面,你可以通过斜面),找到钥匙后,钥匙会出现在你的右上角的位置,示意着你的光标要向那个方向移动,当你到达一个门的时候,会自动开门,进入第二关。
  • 第二关,每一关的小人都会给你一些英文提示,教你怎么玩。关于第二关,你会看到你过不去,小会提示你,那些绿草地就向我们文件中的行,你在行上按上下键,光标会在这一列上移动,如果这一下面的一行没有这么长,光标会到行尾。这个vim的特性会告诉我们如何过这一关——移到最上面的行尾(因为是最长的可以越过最下面的障碍),然后按下光标键,到最后一行时你就会发现光标已经过了阻碍。如此通过第二场景,达到一个小人后,按下键,进入第二关。
  • 第三关,我们可以看到地图上有很多的字母,我们还可以看到有两个键,一个是w,一个是e,我们可以把光标移到w上吃到w后,我们就可以使用w键了——以单词为单位移动光标,这样,我们就可以吃到e了和第一把钥匙,我们按w和e我们就可以看到这两个按键都是以单词为单位移动光标的,一个是单词头,一个是单词尾(参看我以前给大家的vim按键速查卡)。然后,我们在最后一行通过单词跳跃到最右边吃到b—— 回到该单词的头,可以得到第二把钥匙。然后往上走,使用b 和 e键拿到第三把钥匙。然后就可以打开三个门通关了。
Vim Adventures 第三关
然后,就需要你注册才能玩了。作者说,因为需要发的邮件太多了,所以现在系统发不出邮件了,请等待。所以,不知道作者是用来收集邮件的,还是没有开发完,不过,这个游戏的创意实在是太赞了。推荐给大家。
哪位会做游戏又熟Vim的朋友也能做一个?
查看回复

能帮忙改下登陆吗,就是把登陆密码从明文改成密文

作者:小丑9211
同学让我帮改下登陆,就是把明文密码“12345”改成密文“******” void pass() { char UserName[30]; char Password[20]; int i=0; cout<<"*************************************\n"; cout<<"\n\t管理员名和登录密码都只有4次机会,如果超过将自动退出系统!\n\n"; cout<<"*************************************\n"; cout<<"\n请输入管理员名:"; cin>>UserName; while(strcmp(UserName,"admin")!=0) { if(i>=3) exit(0); //超过4次则登录失败,退出系统 i++; cout<<"\n管理员名无效,请重新输入:"; cin>>UserName; } cout<<"\n请输入密码:"; cin>>Password; while(strcmp(Password,"12345")!=0) { if(i>=3) exit(0); //超过4次则登录失败,退出系统 i++; cout<<"\n密码输入错误,请重新输入:"<<endl; cin>>Password; } cout<<"\n\t\t欢迎管理员的到来!!!"; }
查看回复

做了个透明窗口不知道要放点啥东西进去..亲们有想法的说啊

作者:fair_jm
... 额 在学SWT 无聊做了个透明窗口... 置顶 可自动隐藏(像QQ那样的。。) 但 无聊做完之后...发现...好像没有用啊.... 亲们有木有好的想法之类的.... 可以帮有需要的亲们和淫们加点东西的说.... 亲们有想法的回复下 最好把有关图片资源啥的也给下lz的说... lz最近忙考试 看到lz能实现的 lz做好后会pm亲的.... 现在这个窗口是.... [attach]199667[/attach] 这样的..... 当然可以定制形状啦(透明背景色的png(不过一样会有误差..SWT里做任意背景的还不如AWTUtilities好用... ... . lz先放在这了 时不时过来收下尸 然后拿去做.....
查看回复

Eclipse找不到应用?

作者:懒之圣帝
安装了c/c++插件的Eclipse: [attach]193849[/attach] 新建c/c++工程之后,ctrl+F11编译弹出消息,如上图。 编译命令已经确认过,是g++。 那么到底出了什么问题?
查看回复

求助!多文件上传的功能实现!

作者:Cloud_Derek
[i=s] 本帖最后由 Cloud_Derek 于 2013-5-30 16:11 编辑 我自己查了度娘,还自己试着写了点代码,在txt方面实现成功了之后,再试了下图片、word等,然后发现上传过去的数据好像总是不足,缺失了一下,可是又不知道哪里,让我非常头痛…… 附件里面是我的上传功能代码,其中temp.jsp是原本上传单个文件时用的upload代码。后来老师说要改成多个文件上传,于是我悲剧的开始查资料试着改,写出了up.jsp,其中把麻烦的计算放到了类ForUpload中。 求助各位大神来帮忙看看究竟哪儿错了……我已经看了一天了_(:3 」∠)_……【我这个战5的渣渣只有明儿接着看了,大晚上的颓废之际,来论坛求助一发…… http://pan.baidu.com/share/link?shareid=478506&uk=3323984724 顺便再贴上上传文件的页面: http://pan.baidu.com/share/link?shareid=478855&uk=3323984724
查看回复

如何用gdb查看coredump文件?

作者:懒之圣帝
在终端的操作:
[otakuchiyan@localhost test]$ gcc -g cfile1.c -o test -std=c11 -lncurses -lpanel [otakuchiyan@localhost test]$ gdb GNU gdb (GDB) Fedora (7.5.1-38.fc18) Copyright (C) 2012 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <[url]http://gnu.org/licenses/gpl.html>[/url] This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "i686-redhat-linux-gnu". For bug reporting instructions, please see: <[url]http://www.gnu.org/software/gdb/bugs/>.[/url] (gdb) ./test test.core Undefined command: "". Try "help".
终端的错误显示:(gdb r)
┌──────────────────────────────────────┐ │ Window Number 1 │ ├──────────────────────────────────────┤ │ ┌──────────────────────────────────────┐ │ │ Window Number 2 │ Program received signal SIGSEGV, Segmentation fault.────┤ 0xb7fe9a65 in show_panel () from /lib/libpanel.so.5 │ Missing separate debuginfos, use: debuginfo-install glibc-2.16-31.fc18.i686 ncurses-libs-5.9-10.20130413.fc18.i686 │ (gdb) └──────│ │ │ │ │ │ └──────────────────────────────────────┘ Use 'm' for moving, 'r' for resizing Use tab to browse through the windows.
源码: [mw_shl_code=c,true]#include <panel.h> #include <string.h> #include <malloc.h> typedef struct _PANEL_DATA { int x, y, w, h; char label[80]; int label_color; PANEL *next; }PANEL_DATA; #define NLINES 10 #define NCOLS 40 void InitWins(WINDOW **wins, int n); void WinShow(WINDOW *win, char *label, int label_color); void PrintInMiddle(WINDOW *win, int starty, int startx, int width, char *string, chtype color); void SetUserPtrs(PANEL **panels, int n); int main() { WINDOW *my_wins[3]; PANEL *my_panels[3]; PANEL_DATA *top; PANEL *stack_top; WINDOW *temp_win, *old_win; int ch; int newx, newy, neww, newh; bool size = FALSE, move = FALSE; initscr(); start_color(); cbreak(); noecho(); keypad(stdscr, TRUE); init_pair(1, COLOR_RED, COLOR_BLACK); init_pair(2, COLOR_GREEN, COLOR_BLACK); init_pair(3, COLOR_BLUE, COLOR_BLACK); init_pair(4, COLOR_CYAN, COLOR_BLACK); InitWins(my_wins, 3); for (int i = 0; i != 2; ++i) { my_panels = new_panel(my_wins); } SetUserPtrs(my_panels, 3); update_panels(); attron(COLOR_PAIR(4)); mvprintw(LINES - 3, 0, "Use 'm' for moving, 'r' for resizing"); mvprintw(LINES - 2, 0, "Use tab to browse through the windows."); attroff(COLOR_PAIR(4)); doupdate(); stack_top = my_panels[2]; top = (PANEL_DATA *)panel_userptr(stack_top); newx = top->x; newy = top->y; neww = top->w; newh = top->h; while((ch = getch()) != KEY_F(1)) { switch(ch) { case 9: top = (PANEL_DATA *)panel_userptr(stack_top); top_panel(top->next); stack_top = top->next; top = (PANEL_DATA *)panel_userptr(stack_top); newx = top->x; newy = top->y; neww = top->w; newh = top->h; break; case 'r': size = TRUE; attron(COLOR_PAIR(4)); mvprintw(LINES - 4, 0, "Entered Resizing:Use Arrow Keys to resize and press <ENTER> to end resizing"); refresh(); attroff(COLOR_PAIR(4)); break; case 'm': attron(COLOR_PAIR(4)); mvprintw(LINES - 4, 0, "Entered Moving: Use Arrow Keys to Move and press <ENTER> to end resizing"); refresh(); attroff(COLOR_PAIR(4)); move = TRUE; break; case KEY_LEFT: if (size == TRUE) { --newx; ++neww; } if (move == TRUE) { --newx; } break; case KEY_RIGHT: if (size == TRUE) { ++newx; --neww; } if (move == TRUE) { ++newx; } break; case KEY_UP: if (size == TRUE) { --newy; ++newh; } if (move == TRUE) { --newy; } break; case KEY_DOWN: if (size == TRUE) { ++newy; --newh; } if (move == TRUE) { ++newy; } break; case 10: move(LINES - 4, 0); clrtoeol(); refresh(); if (size == TRUE) { old_win = panel_window(stack_top); temp_win = newwin(newh, neww, newy, newx); replace_panel(stack_top, temp_win); WinShow(temp_win, top->label, top->label_color); delwin(old_win); size = FALSE; } if (move == TRUE) { move_panel(stack_top, newy, newx); move = FALSE; } break; } attron(COLOR_PAIR(4)); mvprintw(LINES - 3, 0, "Use 'm' for moving, 'r' for resizing"); mvprintw(LINES - 2, 0, "Use tab to browse through the window"); attroff(COLOR_PAIR(4)); refresh(); update_panels(); doupdate(); } endwin(); return 0; } void InitWins(WINDOW **wins, int n) { int y = 2, x = 10; char label[80]; for (int i = 0; i < n; ++i) { wins = newwin(NLINES, NCOLS, y, x); sprintf(label, "Window Number %d", i + 1); WinShow(wins, label, i + 1); y += 3; x += 7; } } void SetUserPtrs(PANEL **panels, int n) { PANEL_DATA *ptrs; WINDOW *win; int x, y, w, h; char temp[80]; ptrs = (PANEL_DATA *)calloc(n, sizeof(PANEL_DATA)); for (int i = 0; i < n; ++i) { win = panel_window(panels); getbegyx(win, y, x); getmaxyx(win, h, w); ptrs.x = x; ptrs.y = y; ptrs.w = w; ptrs.h = h; sprintf(temp, "Window Number %d", i + 1); strcpy(ptrs.label, temp); ptrs.label_color = i + 1; if (i + 1 == n) { ptrs.next = panels[0]; } else { ptrs.next = panels[i + 1]; } set_panel_userptr(panels, &ptrs); } } void WinShow(WINDOW *win, char *label, int label_color) { int startx, starty, height, width; getbegyx(win, starty, startx); getmaxyx(win, height, width); box(win, 0, 0); mvwaddch(win, 2, 0, ACS_LTEE); mvwhline(win, 2, 1, ACS_HLINE, width - 2); mvwaddch(win, 2, width - 1, ACS_RTEE); PrintInMiddle(win, 1, 0, width, label, COLOR_PAIR(label_color)); } void PrintInMiddle(WINDOW *win, int starty, int startx, int width, char *string, chtype color) { int length, x, y; float temp; if (win == NULL) { win = stdscr; } getyx(win, y, x); if (startx != 0) { x = startx; } if (starty != 0) { y = starty; } if (width == 0) { width = 80; } length = strlen(string); temp = (width - length) / 2; x = startx + (int)temp; wattron(win, color); mvwprintw(win, y, x, "%s", string); wattroff(win, color); refresh(); } [/mw_shl_code] 这种方法是在网上找到的。 疑点有两处: 1、没有coredump文件在test文件夹里。 2、但是谷歌得来的资料却说明coredump会在test里生成。 好了,到底该怎么做?表示真心不想逐行调试。
查看回复
上一页
下一页
0%
站点地图友情链接:
喵宅苑
喵空间社区程序
喵宅苑 静态版
宅喵RPG地图编辑器
络合兔
Lanzainc
技术宅
小五四博客
莉可POI
Mithril.js
枫の主题社
Project1
午后少年
机智库
七濑胡桃
xiuno
幻想の日常
魂研社
Nothentai
0xffff
欲望之花
泽泽社长
淀粉月刊
HAYOU
红客联盟
异次元
轻之国度
神奇宝贝新生代
游戏狗
口袋双子星
我的世界论坛
梦次元
动漫东东
动漫国际
精艺论坛
78动漫
吐槽弹幕网
漫客栈