Как удалить символ конца строки? - 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);