读取和打印字符串,C

时间:2014-12-14 14:07:18

标签: c

我有一个从数组中读取数据的函数,但是,当我想打印数据而不是名字时,我会得到一些垃圾:4273 �нз знзнз。哪里弄错了?

一个函数,student_list[i] = "4273 Константинопольский А. А. 4333 знзнз"

int debt() {
  char name[100];
  char test[5];
  int group;
  int exam;

  for (int i = 0; i < 4; i++) {
    sscanf(student_list[i], "%d %[^0-9] %d %s", &group, name, &exam, test);

    printf("%d %s %s\n", group, name, test);
  }
  return 0;
}

1 个答案:

答案 0 :(得分:1)

因为内存中char类型的大小不足以保存unicode字符,所以你应该依赖于你的编译器使用其他类型的数据类型,比如wchar,或者我可以提供给你,它更好地使用cuchar。 h头文件并解决您的问题