[英]How do I use mblen()?
這里有一些測試代碼可以幫助我理解多字節字符管理。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, char *argv[]) {
char * line = malloc(1024);
size_t n;
getline(&line, &n, stdin);
while (*line) {
int offset = mblen(line, strlen(line));
if (offset == -1) return 0;
printf("%d\n", offset);
line += offset;
}
return 0;
}
據我了解,如果用戶在哪里輸入“éléphant”,我的輸出應該顯示2 1 2 1 ...但是,它顯示-1表示mblen錯誤,從第一個字節開始。 我收集它可能不是這兩行代碼中的錯誤,我必須做什么,我可以閱讀哪些資源,以獲得這里發生的事情的暗示? 當然printf(“%s”,line)可以正常工作(並且確實)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.