Как удалить символ конца строки? - C (СИ)

Узнай цену своей работы

Формулировка задачи:

у меня в программе "Словарь" при выводе перевода слова в конец вставляется 0(как показано на скрине), я так понимаю это символ конца строки! как его можно удалить? скрин ну подскажите пожалуйста)
#include "Barfic.h"
 
int Translate()
{
   wchar_t word[100];
   wchar_t str[100];
   wchar_t *buf1 = NULL;
   wchar_t *buf2 = NULL;
   bool find = false;
   char ch = 'a';
   CHAR_INFO vPoint;
   setlocale(LC_ALL,"Russian");
   FILE *fp;
   EMessageBoxId eId;
   int i, n;
   
   if ((fp = fopen("dict.txt","r"))==NULL) {
   printf("Ошибка при открытии файла.\n");
   exit(1);
   }
 
    DrawSingleLineText(
        ColorBrightWhite, ColorBlue, 
        12, 3, 44, 2, 
        L"Введите слово, которое вы хотите перевести:", 
        MiddleCenter);
    DialogTextBox(
        ColorBrightWhite, ColorGreen,
        12, 5, 40, 2,
        word, 100);
 
    i = 0;
    //Приведение к нижнему регистру
    n = wcslen(word);
    while (i<n)
    {
        if (iswupper(word[i]))
        {
            word[i] = towlower(word[i]);
        }
        i++;
    }
 
   while (feof(fp)==0) 
   {
       fgetws(str, 100, fp);
       buf1 = wcstok(str, L" ");
       buf2 = wcstok(NULL, L" ");
 
       if (wcscmp(buf1, word)==NULL)
       {
               SetCharInfo(&vPoint, L'', ColorBrightWhite, ColorGreen);
               DrawRectangle(&vPoint, 12, 9, 40, 2);
                DrawSingleLineText(
                    ColorBrightWhite, ColorGreen,
                    12, 9, 19, 2,
                    word, MiddleCenter);
                DrawSingleLineText(
                    ColorBrightWhite, ColorGreen,
                    32, 9, 19, 2,
                    buf2, MiddleCenter);
                find = true;
                break;
       }
 
       if (wcscmp(buf2, word)==NULL)
       {
           SetCharInfo(&vPoint, L'', ColorBrightWhite, ColorGreen);
           DrawRectangle(&vPoint, 12, 9, 40, 2);
           DrawSingleLineText(
               ColorBrightWhite, ColorGreen,
               12, 9, 19, 2, 
               word, MiddleCenter);
           DrawSingleLineText(
               ColorBrightWhite, ColorGreen, 
               32, 9, 19, 2, 
               buf1, MiddleCenter);
           find = true;
           break;  
       }
 
   }
   if (!find)
   {
       CleanScreen();
       DrawSingleLineText(
           ColorBrightWhite, ColorBlue, 
           12, 5, 44, 2, 
           L"Совпадений не найденно!", 
           MiddleCenter);
   }
   while (1)
   {
        ch = getch();
        switch (ch)
        {
            case 0x1B:
            eId = 
                DialogMessageBox(
                ColorBrightWhite, ColorBlack,
                21, 8, 42, 8,
                ColorBlack, ColorWhite,
                L"Вернуться в меню?", MiddleCenter,
                MessageBoxYesNo);
            if (eId == MessageBoxIdYes)
            {
                CleanScreen();
                DrawMainMenu();
                return 0;
            }
        }
   }
   
   fclose(fp);
   getch();
}
вот функция, которая отвечает за перевод) может кто подскажет в чём дело?
народ, ну помогите срочно) чё ниукого никаких идей нет?
блин, завтра сдавать надо) подскажите хоть чё нибудь)

Решение задачи: «Как удалить символ конца строки?»

textual
Листинг программы
SetCharInfo(&vPoint, L'', ColorBrightWhite, ColorGreen);

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4.077 из 5
Похожие ответы