我写的程序,分裂西里尔文从标准输入和打印逐行.阅读文本后,使用fgetws
我得到分割故障.使用gdb
返回以下内容:
Program received signal SIGSEGV, Segmentation fault.
wcstok (wcs=0x7fffffffda90 L"", delim=0x7fffffffda80 L" ,-", save_ptr=0x0) at wcstok.c:45
45 wcstok.c: No such file or directory.
代码:
#include <stdio.h>
#include <wchar.h>
#include <wctype.h>
int main() {
wchar_t sentence[201];
fgetws(sentence, 201, stdin);
wchar_t delimiters[] = L" ,-";
wchar_t *word = wcstok(sentence, delimiters, NULL);
while (word != NULL) {
wprintf(L"%ls", word);
word = wcstok(NULL, delimiters, NULL);
}
return 0;
}
我用的是GCC 9.4.0