我開始學習C,我應該讀取一個我有的txt文件,並試圖從命令行打開它。我應該從txt文件中獲取數據並對其進行解碼,但現在我只是試圖將其寫入新文件,並且似乎無法讓我的輸入文件讀入並隨後寫入新的txt文件我想創建的文件。我試過用while循環打印出文件的內容,但無濟於事。 任何幫助,將不勝感激。如何從命令行讀取文件
編輯: 我的程序目前不會通過我的while循環打印任何東西,並給我一個「分段錯誤」錯誤,並且不寫入我的新txt文件,雖然它創建它,但文件中沒有任何內容。 該文件的內容很長,但遵循以下模式:
encodedLength,bits,base64
12,64,AAAAAAAAAEA=
12,64,vvj7ZlmphkA=
12,64,k+Oj/7LbkUA=
56024,64,qZzGabZBf0CQT8vJMEJ/QISgOVMaRH9AwB2+bG9Lf0BpLEli0FF/QKEpqrloU39A9klOPONTf0CETlNyiV9/QKUKUN66Yn9A7CEjAnlsf0ATW5MDlnF/QG1IilrIdH9AhU5hRvF0f0DHblZlf3t/QLHq2kXRe39AF951+tqCf0C7/5Gv+YN/QD6plms3in9AWwvIRy2Lf0BY5BOuJJR/QDOqDBoxm39AnD3CrKOxf0DOKmoimrJ/QGh1pV4Vs39AGRJSh2ezf0CZnRzF4rN/QJ2y6tkLtH9Aj2XT7jS0f0ButtYDXrR/QDql9BiHtH9A8TEtLrC0f0AqJe5YArV/QGJZu24SvH9ArdxKi3XDf0BTUi3Jx8N/QLmkMUZsxH9ARgiIpwLLf0DsSAGSWc9/QBxGuUw1039ALnyq8dnTf0APkUWYftR/QBnhLsKn1H9AQZAiU07ef0D2a2fCneN/QBSk4Cnw439ACS3FXRnkf0DqU8SRQuR/QLgY3sVr5H9AdHsS+pTkf0AcfGEuvuR/QJS+/yPN539AoG68zonqf0B/kCovZ+5/QKcy0WmQ7n9AvXKSpLnuf0C8UG7f4u5/QKzMZBoM739AiOZ1VTXvf0BSnqGQXu9/QAn058uH739AredIB7Hvf0BAeKEIbvJ/QJCG4UWX8n9AzTI8g8Dyf0D3fLHA6fJ/QAtlQf4S839AD+vrOzzzf0ABD7F5ZfN/QN/QkLeO839AqzCL9bfzf0BkLqAz4fN/QArKz3EK9H9AnQMasDP0f0Aa237uXPR/QIdQ/iyG9H9A4WOYa6/0f0ApFU2q2PR/QF1kHOkB9X9Acsxj5ab1f0AtRjtpjfh/QMP3qG4y+X9A+u5GsFv5f0AdhP/xhPl/QC630jOu+X9ALIjAddf5f0AU98i3APp/QOwD7Pkp+n9Axo7rGoT+f0BB0h6l1v5/QHGNvC8p/39A7FczdVL
我的代碼:
int main(int argc, char* argv[])
{
char fileString[256];
char line[256];
/*Pseudocode
Need to convert base 64 string back into 32 bit floats
Algorithm:
Open up file in command line
Skip first line of txt file
Read file in line by line
Convert each line from base64 to 32 bit floats (truncated to 3 decimal places), end each with a new line
Store all of this in an output file called p1_output.txt
*/
printf("Please enter your file name (include file extension): ");
scanf("%s", &fileString);
printf("%s\n", fileString);
FILE *inputFile = fopen(fileString, "r");
FILE *outputFile = fopen("p1_output.txt", "w+");
while(fgets(line, 256, inputFile))
{
printf("%s", line);
fputs(line, outputFile);
}
return 0;
}
程序的當前行爲究竟是什麼?它會崩潰嗎?它打印垃圾嗎?它什麼都不打印?它是否將任何內容寫入輸出文件?什麼?請具體提供輸入文件內容。 – kaylum
我已經添加了該信息的編輯。 – Jason
在這種情況下,請檢查每個「fopen」調用的返回值以確保它們沒有失敗(實際上,應該始終檢查返回值的錯誤)。 – kaylum