我想问下(_("xxx") 是什么意思?不应该是一个字符串吗?

阅读coreutils里面的各个程序源代码时,各种输出函数都这个这样的,比如fputs,就是
fputs(_("xxxx"), stdout); 可是fputs的原型是 fputs(const char *, FILE *),

湖上湖
浏览 72回答 2
2回答

函数式编程

#define _(msgid) gettext (msgid) 为了国际化

开心每一天1111

关于 C 语言库函数 fputs(const char *, FILE *) 的详细含义是这样的:const char * 代表一个字符串类型的变量,FILE * 代表一个文件指针类型的变量。具体的 C 语言源代码举例如下:#include <stdio.h>#include <string.h>#define MAX 50void main( ){FILE * fpw ; /* 定义一个文件指针变量 fpw */char my_data[MAX] ; /* 定义一个字符串变量 my_data,且允许的最大长度为 MAX 个字符 */strcpy(my_data, "THIS IS TEST CONTENT !\n" ) ; /* 将字符串内容拷贝到 my_data 变量中 */if( ( fpw = fopen("my_file", "w") ) != NULL ) /* 以文本方式打开文件 my_file */{ /* 如果成功打开文件 my_file,则将字符串 THIS IS TEST CONTENT 写入 my_file 文件中 */fputs(my_data, fpw) ;fclose(fpw) ; /* 关闭文件 */}elseprintf("File open ERROR !\n") ; /* 否则的话,输出文件打开错误 */}
打开App,查看更多内容
随时随地看视频慕课网APP