如何将键盘输入写入txt文件

问题描述 投票:1回答:1

我试图读取键盘输入并逐行将它们写入一个新文件(一个不存在的文件),直到写入一个特定的字母(在这种情况下为-x-)但它似乎没有工作,我不断得到错误什么我做错了吗?


void newfunc(){

    FILE *fp;
    fp = fopen("newfile.txt", "w+");
    char char1[100], char2[100];
    int int1, int2;
    int x = 0;
    printf("Inputs\n");
    while(1) {
        scanf("%c %d %c %d", &char1[x], &int1, &char2[x], &int2);
        if ( char1[x] == "x") {
            printf("Done!");
            break;
        }
        else {
        fprintf(fp, "%c %d %c %d\n", char1[x], int1, char2[x], int2);
        }
        x++;
    }
    fclose(fp);

}

它会创建文件,但不会写入任何内容。

c printf scanf
1个回答
0
投票

字符和字符串不是一回事。

if ( char1[x] == "x") {

应该

if ( char1[x] == 'x') {

很难理解为什么使用数组。为什么不只是有char变量,因为那是你想要阅读的。

char char1, char2;
int int1, int2;
printf("Inputs\n");
while(1) {
    scanf("%c %d %c %d", &char1, &int1, &char2, &int2);
    if ( char1 == 'x') {
        printf("Done!");
        break;
    }
    else {
        fprintf(fp, "%c %d %c %d\n", char1, int1, char2, int2);
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.