Understanding C Statements: sprintf fname for File Name Formatting

  • Thread starter Thread starter vorcil
  • Start date Start date
AI Thread Summary
The discussion revolves around the C statement using `sprintf` to format a file name, specifically the format string "%5.5i-%5.5i.%5.5i-%5.5i". The `%` symbol in this context is not modulus but indicates the start of a conversion specifier for integer formatting. The format specifies that each integer will be padded to a width of 5 characters, with 5 digits displayed, separated by hyphens and a period. The variables `*nx` and `*ny` represent the dimensions of a matrix, with the integers 1 and the dereferenced values of `nx` and `ny` being formatted into the resulting string. The user is attempting to translate this functionality into Python, seeking clarity on the format string's purpose.
vorcil
Messages
395
Reaction score
0

Homework Statement


What does this statement do?
sprintf(fname,"%5.5i-%5.5i.%5.5i-%5.5i",1,*nx,1,*ny);

from my knowledge of c,
% is modulus,
I don't know what the . is doing, according to wikipedia, it is element selection to reference
I know that it is storing the name of a file in the buffer, fname.
but to what "%5.5i-%5.5i.%5.5i-%5.5i" is doing, I have no bloody idea.

I'm trying to rewrite it in python by the way.
nx is number of rows in a matrix, ny the number of columns
I can't see where 1 goes within "%5.5i-%5.5i.%5.5i-%5.5i"

HELP PLEASE AHHHH


Homework Equations





The Attempt at a Solution

 
Physics news on Phys.org
vorcil said:
from my knowledge of c,
% is modulus,
Not in this context. The % is used at the start of each conversion specifier so that sprintf can convert each of the four arguments after the format string (the second argument).
 

Similar threads

Replies
1
Views
4K
Replies
2
Views
3K
Replies
15
Views
3K
Replies
9
Views
9K
Replies
5
Views
2K
Back
Top