Tag: 标签

如何在c中读取TIFF文件头?

我如何在c中读取tiff文件头? 实际上我想学习TIFF Tag ImageWidth和TIFF Tag ImageLength。 我怎样才能访问这个属性? http://www.awaresystems.be/imaging/tiff/tifftags/imagewidth.html http://www.awaresystems.be/imaging/tiff/tifftags/imagelength.html 这段代码的c翻译可以帮助我: https://stackoverflow.com/a/9071933/2079158 我不知道, 试过这样的事情: #include “stdio.h” #include “stdlib.h” main() { FILE* f = fopen(“tifo.tif”, “rb”); unsigned char info[500]; fread(info, sizeof(unsigned char), 500, f); long int width = *(long int*)&info[256]; short int height = *(short int*)&info[257]; printf(“width : %d \n”, width); printf(“height : %d \n”, height); fclose(f); […]

如何在win32api应用程序中使多行文本框的制表符停止工作

我有一个用c编写的win32api应用程序。 主窗口中的所有控件都是手动创建的,如下所示: hEditSource = CreateWindowEx(WS_EX_CLIENTEDGE, L”EDIT”, NULL, WS_VISIBLE | WS_CHILD | WS_TABSTOP | ES_MULTILINE | ES_READONLY, someLeft, someTop, someWidth, someHeight, hWndMain, NULL, hInst, NULL); 起初我没有在主消息循环中应用IsDialogMessage测试,因此所有控件的制表位都不起作用。 现在我已经完成了,除了上面的多行文本框外,每个控件都可以。 事实上,当按下标签时没有任何反应。 没有焦点移动,没有标签字符插入(之后将丢弃只读样式)。 其他文本框都是单行文本框,如下所示: editSearch = CreateWindowEx(WS_EX_CLIENTEDGE, L”EDIT”, NULL, WS_VISIBLE | WS_CHILD | ES_AUTOHSCROLL | WS_TABSTOP, someLeft, someTop, someWidth, someHeight, hWndMain, NULL, hInst, NULL); 这似乎与多线风格有关是原因。 但是在C#winform中,使用tab-stop创建多行编辑非常容易(它是文本框的默认行为,无论是多行)。 我试过用spy ++来查找窗口样式是否有任何线索。 但是,如果唯一的区别是“Accept Tab”属性,则2个文本框的窗口样式是不同的。 […]

如何在C中的文本文件中的标记之间解析数据

我想使用C在文本文件中打印标签之间的数据。 输入声明:( PERSON)Mark Zuckerberg(/ PERSON)是(LOCATION)USA(/ LOCATION)的企业家。 他还是(ORGANIZATION)Facebook(/ ORGANIZATION)的首席执行官。 输出:马克扎克伯格美国Facebook。 我的程序代码是: const char* getfield(char* line, int num) { const char* tok; for (tok = strtok(line, “/>”); tok && *tok; tok = strtok(NULL, “<\n")) { if (!–num) return tok; } return NULL; } int main() { char line[500000]; while (fgets(line, 500000, stdin)) { char* tmp = strdup(line); […]

案例标签在C中没有减少到整数常量?

我正在开发一个游戏,我运行了我的代码并得到错误“案例标签不会减少到一个整数常量。” 我想我知道这意味着什么,但我该如何解决呢? 这是我的代码: #include #include 0) { printf(“Please type A, B, C, Donate, Go to work, or Exit\n”); switch(jobs) { case ‘A’: player_cash[0]-=5; player_cash[1]+=5; printf(“Cash=%i\n\n”, player_cash[0]); continue; case ‘B’: player_cash[0]-=5; player_cash[2]+=5; printf(“Cash=%i\n\n”, player_cash[0]); continue; case ‘C’: player_cash[0]-=5; player_cash[3]+=5; printf(“Cash=%i\n\n”, player_cash[0]); continue; case “Donate”: player_cash[0]-=15; //Error here player_cash[1]+=5; player_cash[2]+=5; player_cash[3]+=5; printf(“Cash donated\n\n”); printf(“Cash=%i\n\n”, player_cash[0]); continue; case […]

如何在C中更新GTK + -3.0中的标签

我似乎无法使用该function gtk_label_set_text(); 这就是我写的: #include int main(int argc, char *argv[] ) { gtk_init(&argc, &argv); GtkWidget *label; //label label = gtk_label_new(“This is my label”); gtk_label_set_text(label, “I cannot use this func”); if(GTK_IS_LABEL(label)){ g_print(“IT IS A LABEL\n”); }else if (GTK_IS_WIDGET(label)){ g_print(“well at least its a Widget\n”); }else { g_print(“why is it not a label?! T_T\n”); } gtk_main(); return 0; […]

C中的#define有三个点

#define LOGI(…) ((void)__android_log_print(ANDROID_LOG_INFO, “native-activity”, __VA_ARGS__)) #define LOGW(…) ((void)__android_log_print(ANDROID_LOG_WARN, “native-activity”, __VA_ARGS__)) 这是这两个宏的定义; 稍后在代码LOGI和LOGW中使用这种方式 LOGI(“accelerometer: x=%fy=%fz=%f”, event.acceleration.x, event.acceleration.y, event.acceleration.z); 就这样 LOGW(“Unable to eglMakeCurrent”); 由于我总是试图避免复杂的宏和#define ,我无法得到这个宏的实际含义。 这里的3点符号有什么作用? 这个#define后来在代码中有什么变化? 显然我知道3个点用于表示和无限量的参数,但我不知道如何阅读这种情况。