gpt4 book ai didi

c - 无法写入c中的文件

转载 作者:行者123 更新时间:2023-11-30 15:15:28 25 4
gpt4 key购买 nike

在第一部分中,我正在读取文件,然后尝试将数据写入另一个 txt 文件,但无法运行下面的文件...输出错误如下...请告诉我。 ..非常欣赏....

Error output:
1>------ Build started: Project: DataValidation, Configuration: Debug Win32 ------
1> Validate.cpp
1>d:\dropbox\validate.cpp(56): error C2059: syntax error : 'if'
1>d:\dropbox\validate.cpp(56): error C2143: syntax error : missing ';' before '{'
1>d:\dropbox\validate.cpp(58): error C2181: illegal else without matching if
1>d:\dropbox\validate.cpp(67): error C2059: syntax error : 'while'
1>d:\dropbox\validate.cpp(71): error C2065: 'inFile' : undeclared identifier
1>d:\dropbox\validate.cpp(71): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>d:\dropbox\validate.cpp(71): error C2365: 'fclose' : redefinition; previous definition was 'function'
1> c:\program files (x86)\microsoft visual studio 12.0\vc\include\stdio.h(184) : see declaration of 'fclose'
1>d:\dropbox\validate.cpp(73): error C2059: syntax error : 'return'
1>d:\dropbox\validate.cpp(74): error C2059: syntax error : '}'
1>d:\dropbox\validate.cpp(74): error C2143: syntax error : missing ';' before '}'
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
<小时/>
#define _CRT_SECURE_NO_WARNINGS

#include <stdio.h>
#include <stdlib.h> //for exit (1)

int main(){
FILE* inFile; //file handle or pointer
FILE* outFile;
char there_was_error = 0;
char opened_in_read = 1;
char filename[100];
char line[100]; //buffer
char test;
int src, dest, type, port;
char data[100];

printf("Enter filename: ");
scanf("%s", filename);

printf("Processing filename %s ...\n", filename);
inFile = fopen(filename, "r");
if (inFile == NULL) { //check if file handler is invalid
printf("Could not open file %s\n", filename);
exit(1); //error status code
}

//test = fscanf(inFile, "%d:%d:%d:%d:", &src, &dest, &type, &port); //read line from file
//fgets(data, 100, inFile);
do {
test = fscanf(inFile, "%d:%d:%d:%d:", &src, &dest, &type, &port);//read line from file
fgets(data, 100, inFile);
//printf("%d %d %d %d %s", src, dest, type, port, data);

outFile = fopen("data_1.txt", "rb+");
if (outFile == NULL)
{
opened_in_read = 0;
outFile = fopen("data_1.txt", "wb");
if (outFile == NULL)
there_was_error = 1;
}
if (there_was_error)
{
printf("Disc full or no permission\n");
return EXIT_FAILURE;
}
if (opened_in_read)
printf("The file is opened in read mode."
" Let's read some cached data\n");
else
printf("%d %d %d %d %s", src, dest, type, port, data);
return EXIT_SUCCESS;
}


if (src >= 1 && src <= 1024){
}
else {

}
if (dest >= 1 && dest <= 1024){
}
else {

}

} while (test != EOF);



fclose(inFile); //must always close file once done

return 0;
}

最佳答案

This might help you

我使用gcc来编译代码。有错误..请检查您的 do..while 循环....以下代码是否正确编译。

    #define _CRT_SECURE_NO_WARNINGS

#include <stdio.h>
#include <stdlib.h> //for exit (1)

int main(){
FILE* inFile; //file handle or pointer
FILE* outFile;
char there_was_error = 0;
char opened_in_read = 1;
char filename[100];
char line[100]; //buffer
char test;
int src, dest, type, port;
char data[100];

printf("Enter filename: ");
scanf("%s", filename);

printf("Processing filename %s ...\n", filename);
inFile = fopen(filename, "r");
if (inFile == NULL) { //check if file handler is invalid
printf("Could not open file %s\n", filename);
exit(1); //error status code
}

//test = fscanf(inFile, "%d:%d:%d:%d:", &src, &dest, &type, &port); //read line from file
//fgets(data, 100, inFile);
do {
test = fscanf(inFile, "%d:%d:%d:%d:", &src, &dest, &type, &port);//read line from file
fgets(data, 100, inFile);
//printf("%d %d %d %d %s", src, dest, type, port, data);

outFile = fopen("data_1.txt", "rb+");
if (outFile == NULL)
{
opened_in_read = 0;
outFile = fopen("data_1.txt", "wb");
if (outFile == NULL)
there_was_error = 1;
}
if (there_was_error)
{
printf("Disc full or no permission\n");
return EXIT_FAILURE;
}
if (opened_in_read)
printf("The file is opened in read mode."
" Let's read some cached data\n");
else
printf("%d %d %d %d %s", src, dest, type, port, data);
return EXIT_SUCCESS;



if (src >= 1 && src <= 1024){
}
else {

}
if (dest >= 1 && dest <= 1024){
}
else {

}

} while (test != EOF);



fclose(inFile); //must always close file once done

return 0;
}

请编译一次并告诉我错误。(如果有)

关于c - 无法写入c中的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33601830/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com