@Foxik1

Что не так с чтением из файла?

При попытке сравнить переменную cc со строкой ничего не происходит
Код
#include <stdio.h>
#include <locale.h>

FILE* fp;

int main() {
    char* filename = "data.txt";
    setlocale(LC_ALL, "Russian");
    char str[100];
    char cc[256];
    fopen_s(&fp, "data.txt", "r"); 
    while ((fgets(cc, 256, fp)) != NULL) {
        printf("%s\n", cc);
        if (cc == "print") {
            printf("Принт");
        }
    }
}

Файл data.txt
print
  • Вопрос задан
  • 73 просмотра
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега C
Седой и строгий
С чтением всё в порядке. Просто вы делаете не сравнение строк, а сравнение указателей, один из которых указывает на массив, а другой на литерал. Естественно, что они не равны. Используйте функцию strcmp.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
.White Code Санкт-Петербург
от 420 000 до 480 000 ₽
.White Code Санкт-Петербург
от 250 000 до 400 000 ₽
30 сент. 2022, в 20:52
4000 руб./за проект
30 сент. 2022, в 20:48
1600 руб./в час
30 сент. 2022, в 19:21
300 руб./за проект