getwchar_unlocked - Linux


Overview

getwchar_unlocked retrieves a single wide character from a stream. It is designed for use in multi-threaded environments where access to the stream is not synchronized.

Syntax

#include <stdio.h>

wint_t getwchar_unlocked(FILE *stream);

Options/Flags

None.

Examples

Reading a Wide Character

#include <stdio.h>

int main() {
  FILE *fp = fopen("file.txt", "r");
  wint_t c = getwchar_unlocked(fp);
  printf("%lc", c);
  fclose(fp);
  return 0;
}

Determining End-of-File

#include <stdio.h>

int main() {
  FILE *fp = fopen("file.txt", "r");
  wint_t c = getwchar_unlocked(fp);
  while (c != WEOF) {
    // Process character
    c = getwchar_unlocked(fp);
  }
  fclose(fp);
  return 0;
}

Common Issues

Mixing Wide and Narrow Character Functions

Ensure that you only use the correct wide character functions (getwchar_unlocked) when working with wide character streams. Mixing wide and narrow character functions can lead to unexpected behavior and data corruption.

Integration

getwchar_unlocked can be used with other wide character I/O functions, such as putwchar and fwide, to handle Unicode data in files and streams.

Related Commands

  • fgetwc: Retrieves a wide character from a stream.
  • putwchar: Writes a wide character to a stream.
  • ungetwc: Pushes back a wide character onto a stream.