错误的输出C端子

时间:2015-04-27 21:53:42

标签: c printing terminal

我正在尝试使用Ubuntu终端来显示用户输入。如果用户输入“退出”,程序应该退出。如果用户输入“/ dev / pts / 1”之外的其他内容,则应显示“无法打开以进行写入”。无论我输入什么内容,该程序都会继续打印else语句。请帮助。

#include <stdio.h>

main()
{
FILE *fpt;  
char str[100];
char term[20];
fpt = fopen("/dev/pts/1", "w");

while(1)
{
    printf("Enter the terminal to display in: ");
    scanf("%s", term);
    if(term != "exit");
    {
        if(term == "/dev/pts/1")
        {           
            printf("Enter the text to display: ");
            scanf("%s", str);
            fprintf(fpt,"%s\n", str);       
        }
        else
        {
            printf("Unable to open %s for writing\n", term);
        }
    }
}   

fclose(fpt);
}

1 个答案:

答案 0 :(得分:1)

使用strcmp()比较字符串:

#include <string.h>

if (strcmp(term, "/dev/pts/1") == 0) {
    // Strings are equal
}
else {
    // Strings are different.
}