Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 我对fopen和其他软件有错误_C - Fatal编程技术网

C 我对fopen和其他软件有错误

C 我对fopen和其他软件有错误,c,C,我不知道该怎么办,我正试着用10分钟把它修好,但什么也没做。 我是一个初学者。。。所以不要讨厌吸烟。 请帮我输入代码:D 我和C一起工作了一个月,这是一种很酷的语言 #include <stdio.h> #include <stdlib.h> int main(){ FILE *pf; char input[500]; char ime[500]; int ime2; for(ime2 = 0; ime2 >= 99999

我不知道该怎么办,我正试着用10分钟把它修好,但什么也没做。 我是一个初学者。。。所以不要讨厌吸烟。 请帮我输入代码:D 我和C一起工作了一个月,这是一种很酷的语言

#include <stdio.h>
#include <stdlib.h>

int main(){
    FILE *pf;
    char input[500];
    char ime[500];
    int ime2;

    for(ime2 = 0; ime2 >= 9999999; ime2++);

/*

ime2 is: 1,2,3,4,5,6,7,8,9,10,11,12... 9999999

*/

    pf = fopen("bruteforce.txt","w");

    if(pf == NULL){
        printf("Datoteka (.txt) po imenu: bruteforce nije pronadjena!\n");
    } else {
        printf("Sledeci text ce biti unesen: \n");
        gets(input);
        ime = input + ime2; // error
        fputs(ime, pf);
        printf("Uspesno je ispisano.\n");
        fclose(pf);
    }

    system("pause >nul");   
    return 0;
    }
#包括
#包括
int main(){
文件*pf;
字符输入[500];
字符输入法[500];
INTIME2;
用于(ime2=0;ime2>=999999;ime2++);
/*
ime2是:1,2,3,4,5,6,7,8,9,10,11,12…999999
*/
pf=fopen(“bruteforce.txt”,“w”);
if(pf==NULL){
printf(“Datoteka(.txt)po imenu:bruteforce nije pronajena!\n”);
}否则{
printf(“Sledeci text ce biti unesen:\n”);
获取(输入);
ime=input+ime2;//错误
FPUT(输入法、功率因数);
printf(“Uspesno je ispisano.\n”);
fclose(pf);
}
系统(“暂停>nul”);
返回0;
}

首先改变

gets(input)` 

然后试试这个

snprintf(ime, sizeof(ime), "%s %d", input, ime2);
顺便说一句:也许
MSVC
不会像现在这样喜欢
snprintf()
,他们只是添加了这样一个下划线

_snprintf(ime, sizeof(ime), "%s %d", input, ime2);

input
是字符串,
ime2
是整数。你不能用整数添加字符串。谁认为你
get()
他们不知道
fgets()
input+ime2
生成一个地址,不?@FiddlingBits它正在生成一个数字,你可以随意解释。10分钟。你抱怨在调试上花了10分钟?我不想不必要地拖延您的时间,但这在软件开发中是毫无意义的。不仅
get()
是不安全的,
\u snprintf()
也是不安全的,因为它不能保证空终止。@cremno不是真的,但您可以检查返回值,并且确保使用
get()
无法防止灾难。
_snprintf(ime, sizeof(ime), "%s %d", input, ime2);